我正在尝试为我们的项目创建nAnt构建脚本。 当我尝试通过msbuild构建它 - 从nAnt调用作为外部任务时,我得到了大量缺少的引用错误。但是当我尝试从VS 2008构建它时,没关系。 我发现一个项目正在引用(通过下面的命名空间的* .cs文件中的“using”子句)到另一个webproject。关键是这个WebProject在SLN中被称为WebClient,但在它的特性中,get也是具有其他命名空间的输出程序集,如Copmany.Something.dll。我试图通过从VS指向它来添加对它的引用但VS不允许我这样做,因为它将是循环依赖。 也许有人有类似的问题?
答案 0 :(得分:1)
尝试从VS command promt拨打 MSBuild.exe 。命令行具有与VS相同的biuld环境。要使其从脚本或CI工作,您可以调用 C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ vcvarsall.bat 。
修改强> 您可以构建您的sln文件:
MSBuild.exe 1.sln /t:Rebuild /p:Configuration=Release;Platform="Any CPU"
如果你可以确定VS构建Sln而没有错误,你可以在nant中设置相同的构建行为。
答案 1 :(得分:0)
我遇到了类似的问题,但结果却是由NAnt定位到4.0运行时引起的。 Visual Studio的目标是3.5,因此我认为依赖关系的处理方式不同。我通过强制NAnt定位3.5运行时来修复它。
<property name="nant.settings.currentframework" value="net-3.5" />