Visual studio 2017 Mac上的Visual Studio 2017:;KillProcess“;未为task指定所需参数“0”的值;ImagePath“;(MSB4044)
我的同事刚刚通过以下链接安装了Visual Studio 2017 for Mac:。安装完所有内容后,他试图构建Asp.Net MVC项目,但出现以下错误: 其他人都使用Windows,所以我们以前从未见过这个问题。但是,我想我已经找到了根本原因:DotNetCompilerPlatform.props的Visual studio 2017 Mac上的Visual Studio 2017:;KillProcess“;未为task指定所需参数“0”的值;ImagePath“;(MSB4044),visual-studio-2017,Visual Studio 2017,我的同事刚刚通过以下链接安装了Visual Studio 2017 for Mac:。安装完所有内容后,他试图构建Asp.Net MVC项目,但出现以下错误: 其他人都使用Windows,所以我们以前从未见过这个问题。但是,我想我已经找到了根本原因:DotNetCompilerPlatform.props的WebProjectOutputDir为空,但我还无法验证这一点 <KillProcess ProcessName="VBCSCompiler" ImagePath="$(WebPro
WebProjectOutputDir
为空,但我还无法验证这一点
<KillProcess ProcessName="VBCSCompiler" ImagePath="$(WebProjectOutputDir)" />
是否可以手动设置WebProjectOutputDir
,或者至少在Mac上查看其值?为什么这是Mac上的问题而不是Windows上的问题
我四处寻找了其他答案,但没有发现它们有用/相关。虽然可以在Mac上构建.NET核心应用程序(因为它是跨平台的),但不可能在Mac上构建.NET framework应用程序(因为它是特定于Windows的)
因此,我的同事应该为开发人员找到一台Windows计算机。可能不是最好的方法,但以下过程对我有效: 单击错误打开文件:Microsoft.codeDom.Providers.DotNetCompilerPlatform.props 在此文件中,替换第20行
<KillProcess ProcessName="VBCSCompiler" ImagePath="$(WebProjectOutputDir)" />
与
这个答案解决了我的问题 显然,Travis Ci从xbuild切换到msbuild作为默认构建平台。目前,msbuild平台仅在基于UNIX的系统上不完全支持标准.NET项目.NET核心
因此,一个临时的解决方法是重新配置项目以使用xbuild进行构建。Mono在运行.Net代码时走了很长的路,但是有很多问题。对于这个,编辑您的csproj文件并将其添加到
部分之一:
<WebProjectOutputDir Condition="$(WebProjectOutputDir) == '' AND $(OS) == 'Unix' ">./</WebProjectOutputDir>
<!-- Hack for the fact that Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.8/build/net45/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props references $WebProjectOutputDir -->
/
我在下面的链接中列出了其他问题
参考资料
<WebProjectOutputDir Condition="$(WebProjectOutputDir) == '' AND $(OS) == 'Unix' ">./</WebProjectOutputDir>
<!-- Hack for the fact that Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.8/build/net45/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props references $WebProjectOutputDir -->