我正在尝试使用Visual Studio 2015和内部部署TFS 2013服务器为传统的VB.Net ASP.Net Forms应用程序设置持续集成过程。但是,我没有获得构建定义来成功构建我的应用程序。
这是一个XAML构建定义,它可以在每次TFS签入时愉快地触发,但由于错误编译了与'Extended Properties cannot be initialized'
等属性相关的错误的组件项目,因此到目前为止无法构建应用程序。
所有项目都在Visual Studio中愉快地编译,所以我猜这些错误实际上是由于vbc.exe
编译器的版本,或MSBuild使用的编译器选项?
我试图将项目中使用的相同编译器设置传递给MSBuild参数(见下文),但没有成功。
/p:OptionStrict=false /p:OptionInfer=false /p:OptionExplicit=true /p:OptionCompare=binary
主应用程序项目具有以下ToolsVersion,在项目文件中指定,但Visual Studio实际上可能使用更高版本(14或15?)而MSBuild不是?
<Project DefaultTargets="Build" ToolsVersion="12.0"
为什么这个项目在Visual Studio中完美构建,而不是在构建定义中的任何建议都将非常受欢迎。
答案 0 :(得分:3)
就像我评论的那样,这里棘手的部分是确定正确的MSBuild工具版本,然后以正确的方式使用它。
首先,很难记住Visual Studio版本的MSBuild版本号。您可以使用谷歌,以下只是一些供参考,
确保它们存在于执行构建的计算机上。
其次,您可能需要覆盖工具版本(per this article)。