0

MVC3 C# .Net Web アプリがあり、プリコンパイルするためにアプリで aspnet_compiler を実行しています。私はこのコマンドを実行しています:

aspnet_compiler -v /dev/boe

Boe は、「既定の Web サイト」の下の開発構造内のアプリです。上記のコマンドは、このエラーを生成しています。

c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\dev_boe\25d5f53a\2ad742fc\App_Web_vujir5mm.0.cs(29): error CS0234: The type or namespace name 'Models' does not exist in the namespace 'BOE' (are you missing an assembly reference?)
c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\dev_boe\25d5f53a\2ad742fc\App_Web_vujir5mm.2.cs(29): error CS0234: The type or namespace name 'Models' does not exist in the namespace 'BOE' (are you missing an assembly reference?)
c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\dev_boe\25d5f53a\2ad742fc\App_Web_vujir5mm.3.cs(29): error CS0234: The type or namespace name 'Models' does not exist in the namespace 'BOE' (are you missing an assembly reference?)

ただし、モデルは私たちのソリューションには含まれていません。Web アプリによって参照されるドメイン プロジェクトにモデル オブジェクトがあります。コンパイラは、MVC アプリでモデル参照を期待しているようです。これは本当ですか?または、このエラーの原因は他にありますか?

4

2 に答える 2

2

一時ファイルのコード行を確認するという David Hirst の提案のおかげで、問題が見つかりました。

基本的に、Visual Studio ソリューションに含まれていないファイルがありましたが、私のマシンのファイル構造にはまだありました。モデルを参照する 3 つの .cshtml ファイルがありました。ファイルはソリューションに含まれていないため、VS を使用したビルドには含まれていません。また、それらはソリューションに含まれていなかったため、モデルを検索しても結果は得られませんでした...しかし、コンパイラはディレクトリ構造全体をスイープするため、不適切な参照でファイルをコンパイルしようとしました。

レガシ コードを確実に削除し、コード ベースとファイル構造が snyc であることを確認するという優れた教訓。

于 2012-08-30T14:39:01.260 に答える
0

IIS 7.5 で Razor エンジンを使用しようとすると、同様のエラーが発生しました (.NET 4 がインストールされていても!)

プロジェクトに参照がある場合は、参照に移動して強調表示し、プロパティに移動して、[ローカルのコピー] でこれを true に設定します。再公開してください。これで問題が解決することを願っています。

于 2012-08-28T15:17:29.200 に答える