.Net 4.5 がインストールされた Server 2012 で .Net 4.0 Web プロジェクトを構築しています。TeamCity で Psake を使用していますが、NotMapped が見つからないという CS0246 と、DataAnnotations の 2 つの DLL が見つかったという CS0433 が表示されます。
クラスは次のようになります。
using System.ComponentModel.DataAnnotations.Schema;
public abstract class Order
{
[NotMapped]
public decimal TaxPercentage { get; set; }
}
完全なエラーは次のとおりです。
Ordering\Order.cs(105,8): error CS0246: The type or namespace name 'NotMapped' could not be found (are you missing a using directive or an assembly reference?) [C:\TeamCity\buildAgent\work\71c853cb9b4c108\Code\Models\Model.csproj]
Ordering\Order.cs(105,8): error CS0433: The type 'System.ComponentModel.DataAnnotations.Schema.NotMappedAttribute' exists in both 'c:\TeamCity\buildAgent\work\71c853cb9b4c108\Code\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll' and 'c:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.ComponentModel.DataAnnotations\v4.0_4.0.0.0__31bf3856ad364e35\System.ComponentModel.DataAnnotations.dll' [C:\TeamCity\buildAgent\work\71c853cb9b4c108\Code\Models\Model.csproj]
ビルドは、TeamCity ではなく Psake のみを使用して、Windows 8 で正常に動作します。これを解決する方法はありますか?
更新: 私はより小さなテストプロジェクトを作成しましたが、これは 2012 年に正常にビルドされます。私のメイン プロジェクトに奇妙な点があるようです。