1

ビルド/展開サーバーとして使用するteamcityを備えたWindowsServer2003ボックスがあります。新しいasp.netmvc4プロジェクトをチェックインしましたが、次のエラーが発生します。

App_Start\BundleConfig.cs(2, 18): error CS0234: The type or namespace name 'Optimization' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)

Controllers\AccountController.cs(8, 7): error CS0246: The type or namespace name 'DotNetOpenAuth' could not be found (are you missing a using directive or an assembly reference?)

Global.asax.cs(7, 18): error CS0234: The type or namespace name 'Optimization' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)

Models\AccountModels.cs(4, 45): error CS0234: The type or namespace name 'Schema' does not exist in the namespace 'System.ComponentModel.DataAnnotations' (are you missing an assembly reference?)

App_Start\BundleConfig.cs(9, 44): error CS0246: The type or namespace name 'BundleCollection' could not be found (are you missing a using directive or an assembly reference?) 

私はすでにそのボックスにasp.netmvc4をインストールし、マシンを再起動して、運が悪かったので他のすべてを試しました。

何か案は?

4

3 に答える 3

2

私の場合、CI サーバー (TeamCity) は Web Platform Installer 経由で MVC 4 を使用しません。なぜだかわからない。

そこで、TC ビルド ログのログで黄色の警告を確認し、解決しようとしている参照を探しました。

それぞれについて、プロジェクト/ソリューションで対応する NuGet パッケージを探し、再インストールしました。これにより、パッケージの復元が設定され、TeamCity/MSBuild がビルド中に復元できるようになります。

例えば:

Update-Package WebGrease -Reinstall

MVC プロジェクト テンプレートは、NuGet パッケージを使用していますが、何らかの理由でパッケージ全体の復元メカニズムに接続されていないため、再インストールするとこれが強制されます。事実上、構成パッケージを介して MVC 4 をインストールしていると思います。

ルーク

于 2013-06-26T17:18:06.440 に答える
0

これが役立つかどうかはわかりません。しかし、私は同じ問題を抱えていました。私がやろうとしていたのは、EnableNuGetPackageRestore を使用することです。私はそれを復元しようとしていましたが、それが問題を引き起こしていた場所もいくつかありました (MVC プロジェクトではなくテスト プロジェクトから nuget パッケージを復元しています。理由はわかりませんが、スレッドを確実に更新することがわかった場合) . 私がしたことは、http://blog.jetbrains.com/teamcity/2013/08/nuget-package-restore-with-teamcity/のブログをフォローしたことです。ビルドステップをもう 1 つ追加すると、NuGet インストーラーが問題の解決に役立ちました。(注意: 内部 nuget パッケージ サーバーを使用している場合は、ソースで同じものを指定する必要があります)。問題が解決しない場合はお知らせください。お役に立てれば幸いです。ハッピービル!!

于 2014-01-03T21:16:15.727 に答える
0

私が調べたいいくつかのこと:

  1. ビルド中に NuGet パッケージが適切にプルダウンされていることを確認してください。ドキュメンテーション
  2. プロジェクトがどこかで古い MVC 3 アセンブリをまだ参照していないことを確認してください。おそらく、nant/msbuild ビルド スクリプトが古いアセンブリをどこかにコピーしていますか?
于 2012-11-28T15:54:38.447 に答える