msbuild在预处理器上似乎失败

时间:2018-12-13 14:13:48

标签: c# visual-studio msbuild

我在一个解决方案中有几个项目。一个项目(project_UWP)是“启动”项目,该项目取决于其他项目。在Visual Studio下,构建解决方案并运行project_UWP效果很好。

该解决方案中有一个项目,我们称它为3dParty_Project,其中包含文件3dParty_Helper.cs。我无法共享该文件(出于法律原因),但是此文件包含很多部分,例如:

#if !Xamarin
// Do stuff..
#else
// Do some other stuff
#endif

就像我之前提到的,如果我构建依赖于project_UWP的{​​{1}},则解决方案中的所有依赖关系都将成功构建,并且我可以运行我的应用程序。在我的生成服务器上,我正在使用MSBuild。

3dParty_Project

在这种情况下,我在msbuild project_UWP.csproj /t:clean;build /p:RunCodeAnalysis=False /maxcpucount:1 中遇到了错误:

  

...错误CS1513:}预期...

由于在Visual Studio中可以很好地构建项目,所以我怀疑msbuild在构建时会以某种方式覆盖依赖项的“条件编译符号”。我从以下位置使用msbuild:

  

C:\ Program Files(x86)\ Microsoft Visual   Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ MSBuild.exe

3dParty_Helper.cs中的编译符号为:

  

NETFX_CORE; WINDOWS_UWP; CODE_ANALYSIS

project_UWP中的编译符号为:

  

XForms; Xamarin

我认为编译符号是错误的根源,因为看着3dParty_Project我看不到缺少3dParty_Helper.cs的任何部分。这就是为什么我认为在某些时候某些部分存在问题

}

我该如何解决这个问题?

0 个答案:

没有答案