繁体   English   中英

MSBuild与Visual Studio - 编译的差异?

[英]MSBuild Vs Visual Studio - Differences in compilation?

我正在尝试使用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中完美构建而不是在构建定义中构建的建议将非常受欢迎。

就像我评论的那样,这里棘手的部分是确定正确的MSBuild工具版本,然后以正确的方式使用它。

首先,很难记住Visual Studio版本的MSBuild版本号。 你可以使用谷歌,以下只是一些供参考,

  • Visual Studio 2015 - MSBuild 14
  • Visual Studio 2017 - MSBuild 15

确保它们存在于执行构建的计算机上。

其次,您可能需要覆盖工具版本( 根据本文 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM