Mac上的Visual Studio 2017:" KillProcess"任务没有给出所需参数的值" ImagePath" (MSB4044)

时间:2018-03-27 23:28:17

标签: visual-studio-2017

我的同事刚刚通过以下链接安装了Visual Studio 2017 for Mac:https://www.visualstudio.com/vs/mac/。安装完所有内容后,他尝试构建Asp.Net MVC C#项目并收到以下错误:

enter image description here

其他人都使用Windows,所以我们以前从未见过这个问题。但是,我认为我找到了根本原因:DotNetCompilerPlatform.props WebProjectOutputDir为空,但我还没有能够验证这一点。

<KillProcess ProcessName="VBCSCompiler" ImagePath="$(WebProjectOutputDir)" /> 

是否可以手动设置WebProjectOutputDir,或者至少在Mac上查看其值?为什么这是Mac上的问题,而不是Windows?

我已经四处寻找其他答案,但没有发现它们有用/相关。

4 个答案:

答案 0 :(得分:6)

虽然可以在Mac上构建.NET核心应用程序(因为它是跨平台的),但是不可能在Mac上构建.NET框架应用程序(因为它是特定于Windows的)。

因此,我的同事应该为开发人员找到一台Windows机器。

答案 1 :(得分:1)

可能不是最好的方法,但是以下过程对我有用:

单击错误打开文件:Microsoft.codeDom.Providers.DotNetCompilerPlatform.props 在此文件中,替换第20行

<KillProcess ProcessName="VBCSCompiler" ImagePath="$(WebProjectOutputDir)" />

使用

<KillProcess ProcessName="VBCSCompiler" ImagePath="some right folder path in your local system" />

答案 2 :(得分:1)

Mono 在运行 .Net 代码方面走得很远,但有很多问题。为此,请编辑您的 csproj 文件并将其添加到 <PropertyGroup> 部分之一:

<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  -->

我在下面的链接中列出了其他问题

参考资料

答案 3 :(得分:0)

此答案解决了我的问题 ASP.NET MVC project building starts failing on travis-ci

显然,Travis-Ci从xbuild切换为msbuild作为默认构建平台。目前,仅基于.NET核心的msbuild平台还不能完全支持基于UNIX的系统上的标准.NET项目。

因此,一个临时的解决方法是重新配置项目以使用xbuild进行构建。