我正在尝试为.NET解决方案制作一个构建脚本,该解决方案由几个c#项目和一个自定义项目组成。自定义项目可以由devenv构建,但msbuild会在其上构建。
我希望MSBuild忽略自定义项目,因为我已经使用Exec
任务构建它。我实际上需要MSBuild甚至不打开自定义.proj文件,因为它是JSON格式,因此导致MSBuild崩溃。
/ BuildProjectReferences = false开关不起作用。 MSBuild仍尝试读取自定义项目文件。有没有办法解决这个问题?
答案 0 :(得分:2)
这个问题源于一个项目,它有一个SilverFrost Fortran项目和几个c#类库。解决方案只能使用devenv进行编译。 Msbuild会在Fortran项目上抛出错误,因为它不使用标准的.csproj格式。
即使使用/ BuildProjectReferences = false,msbuild也会尝试读取Fortran项目并抛出错误。我发现的解决方法是将msbuild任务包装在一个执行以下操作的nant任务中:
xmlpoke
任务答案 1 :(得分:0)
不要通过MSBuild构建一次解决方案,而是尝试逐个构建每个项目。在这种情况下,您可以忽略所需的项目。您还可以在此新脚本中定义自己的“基于Exec”的构建。
答案 2 :(得分:0)
在使用自定义项目的项目中,您是否可以右键单击Project Dependencies并从列表中删除自定义项目?您可以改为引用自定义项目的二进制输出。