我正在安装 .Net 4.5 的 Server 2012 上构建一个 .Net 4.0 Web 项目。我在 TeamCity 下使用 Psake,并且收到 CS0246 说找不到 NotMapped,而 CS0433 说它找到了两个用于 DataAnnotations 的 DLL。
该类如下所示:
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]
该构建仅使用 Psake 而不是 TeamCity 在 Windows 8 下运行良好。任何想法如何解决这个问题?
更新:我做了一个较小的测试项目,并且在 2012 年构建良好。看起来我的主项目有些奇怪。