常规任务。我的任务是使(如果有一组 C#项目)的构建失败,如果存在未找到的这样的DLL,因此没有复制到输出文件夹。似乎相应的警告不是编译器的警告,因此我不能将警告代码提供给"将警告视为错误" Visual Studio中的选项。我找到的解决方法是使用 MsBuild ,就像描述here一样。但是我仍然找不到任何使用 Visual Studio 进行构建的解决方案。
问题即可。有没有办法获取构建日志,尤其是在 Visual Studio 中的构建后事件中构建警告,并且如果存在某些确切警告,则构建失败?
我看了什么。看了here,但建议宏不是一个方便的解决方案。 根据{{3}}和this Visual Studio 不保存 C#项目的构建日志。
更具体。我被要求提供有关我想要出错的具体警告的信息。这是" MSB3245:无法解析此引用。无法找到程序集......"
答案 0 :(得分:1)
您可以检查AfterBuild目标中的文件。例如:
<Target Name="AfterBuild">
<Error Condition="Exists('$(MSBuildProjectDirectory)\bin\Debug\ClassLibrary1.pdb')==false" Text="file not exist"/>
</Target>
答案 1 :(得分:0)
我被要求在讨论当前问题和我公司的经验时发表结论。所以就是这样。
<强>答案即可。没有办法在 Visual Studio &#34;中的后期构建事件中访问构建警告。对于托管代码项目(不包括一些非常具体的案例,请参阅有关 TFS 的建议)。
解决方法即可。目前,我们使用 MsBuild 来捕获警告并将其转换为错误,如here所述。因此,开发人员在使用标准 Visual Studio (或 ReSharper )构建过程时无法访问此功能。但是,我们的持续集成服务器完全使用 MsBuild ,因此它会告诉我们我们感兴趣的警告和错误。
其他注意事项。