none
ASP.NET MVC パーサーエラーのトラブルについて RRS feed

  • 質問

  • 初投稿になります。よろしくお願いいたします。

    先日ASP.NET MVC5 にて作成したWEBシステムを、サーバ環境にセットアップし、確認すると、

    下記のようなエラーが発生し、全く動作致しませんでした。

    '/Hogehogeアプリケーションでサーバー エラーが発生しました。

    パーサー エラー

                 説明: この要求の処理に必要なリソースの解析中にエラーが発生しました。以下の解析エラーの詳細を確認し、ソース ファイルに変更を加えてください。            

    パーサー エラー メッセージ: 型 'hogehoge.MvcApplication' を読み込めませんでした。

    ソース エラー:
    行 1:  <%@ Application Codebehind="Global.asax.vb" Inherits="hogehoge.MvcApplication" Language="VB" %>
    

    他PCでまったく同じソースコードをビルドし、サーバ環境にセットアップすると動作します。

    また、ローカルIISでの動作も確認しています。

    Visualstudioは2015(v14)

    失敗するPCのOSはWindows7 32bit

    成功するPCのOSはWindows7 64bit

    サーバOSはWindows server 2012です。

    OSのBit数に問題があるのかと思いましたが、

    以前にもWEBシステムを作成したことがあり、その際にはサーバ側でも動作することを確認しています。

    何が問題なのかさっぱりわかりません。

    お力を貸していただけないでしょうか。

    2017年9月6日 0:00

回答

すべての返信

  • エラーメッセージでググると以下の記事がヒットしますがそこに書いてあることに心当たりはありませんか?

    [VS.NET] Visual C# .NET を使用して .aspx ページを参照すると
    "型を読み込めませんでした" のエラー メッセージが表示される
    https://support.microsoft.com/ja-jp/help/306155/prb-could-not-load-type-error-message-when-you-browse-to--aspx-page-by

    2017年9月6日 1:09
  • ご回答ありがとうございます。

    申し訳ありません。情報不足していました。

    言語はVB.NETです。

    また、ビルド・リビルドを繰り返し、エクスプローラからbin内部をクリーンしてからビルドを行っても同じような現象が発生してしまいます。

    2017年9月6日 1:30
  • MvcApplication というのは Global.asax.cs/vb に定義されているクラスで、最初の質問に書いてあったエラーメッセージはそれが読めないと言っています。

    その理由でもっともありそうなのが、Visual Studio でビルドしたアセンブリ(.dll)が bin フォルダにないということで、それが上のレスで紹介した記事の話です。

    上の質問者さんのレスの、

    > また、ビルド・リビルドを繰り返し、エクスプローラからbin内部をクリーンしてからビルドを行っても同じような現象が発生してしまいます。

    ・・・というのは、上記のことは理解されていて、そこには問題ないことは十二分に確認したということですか?

    2017年9月6日 2:14
  • エラーの内容については把握しております。

    binには、プロジェクトのDLL, 参照しているDLL, Helpers, Mvc, Razor, WebpagesのDLLが新たに生成されていることを確認しております。

    SurferOnWww様が提示されましたページを参照致しますと、

    もしかするとコンパイラに異常があるのではないかと推測しております。



    • 編集済み kei-fu 2017年9月6日 2:26
    2017年9月6日 2:24
  • 最初の質問では、

    > サーバ環境にセットアップし、確認すると、

    ということで、開発マシンでは問題なくてサーバーにデプロイした時の問題のように読めますが、

    > ビルド・リビルドを繰り返し、エクスプローラからbin内部をクリーンしてからビルドを行っても同じような現象が発生してしまいます。

    ・・・では、開発マシンでも問題があるように読めます。

    最初の質問にあった、

    > Visualstudioは2015(v14)
    > 失敗するPCのOSはWindows7 32bit
    > 成功するPCのOSはWindows7 64bit

    というのは開発マシンですよね? 

    「失敗する」というのはどういう意味なんですか? 自分は、開発マシンでは問題なく動くがサーバーにデプロイすると MvcApplication が読めないという問題が出るのだと理解していましたが、違うのでしょうか?

    一体何がどうなっているのか分かりません。もう少し整理していただけませんか?

    2017年9月6日 2:31
  • 正確な情報が伝えられず申し訳ありません。

    過程を整理致しますと

    ①開発マシン1(win7-32) ASP.NET MVC5 アプリケーションのビルド(コンソールでは成功表示)

    ②ローカルIISに配置、IEから参照し動作を確認(問題なし)

    ③②と同じ要領でサーバIISに配置、質問のエラー発生

    ④開発マシン2(win7-64)にて、①と同様にビルド

    ⑤④を③と同様にサーバIISに配置。正常動作

    ※ただし、開発マシン1は今回のプロジェクトと同じものをサーバIISに配置し動作した実績あり。今回は改修時に発生。

    質問内容は

    1. なぜ開発マシン1でビルドしたアプリケーションはエラーが発生し、開発マシン2でビルドしたものは動作するのか

    2. 開発マシン1は同じプロジェクトで実績があるが、なぜエラーが発生するようになったのか

    です。

    2017年9月6日 2:47
  • ① ~ ⑤ 全てに辻褄が合う原因として自分が思いつくのは、① のビルドでプラットフォームターゲットを x86 にしたということぐらいです。
    2017年9月6日 3:17
  • 解決致しました。

    VSではなく、FTPに問題があり、DLLが破損したようでした。

    • 回答としてマーク kei-fu 2017年9月6日 3:26
    2017年9月6日 3:26
  • う~ん、何なんだろう。

    「お騒がせしました」とかの一言があってもよさそうな気がするのですが・・・

    独り言です、スミマセン

    2017年9月6日 10:44