这是一个奇怪的问题。我正在尝试使用 msbuild 构建一个 .NET 3.5 解决方案。我通常为此编写自定义构建脚本,当我尝试构建一个内部使用 CSLA 的简单 .NET 程序集时,它开始给我 Linq 错误。
但是,如果我通过 msbuild(命令行)构建 proj 文件,它似乎构建得很好。完全没有问题。
其他人遇到这个问题......如果是,我该如何解决这个问题?
谢谢,
Sashidhar Kokku
对于 C#(可能是其他语言,未经测试):
您必须使用文本编辑器将此行添加到<ItemGroup>
.csproj 文件的部分
<Reference Include="System.Core" />
Visual Studio 不允许您使用 IDE 添加它,因为它已经对它进行了隐式引用。MSBuild 没有。
添加此行后,保存并重试您的 MSBuild 编译。
检查你的程序集引用,如果你启用了 com 互操作性并且你正在使用 VS2010。您需要将 CSLA 程序集添加到 bin 文件夹或 GAC 中,否则会在 IDE 内部发生构建错误。
谢谢 -Blake Niemyjski(CodeSmith CSLA 模板的作者)