我的同事刚刚通过以下链接安装了Visual Studio 2017 for Mac:https://www.visualstudio.com/vs/mac/。安装完所有内容后,他尝试构建Asp.Net MVC C#项目并收到以下错误:
其他人都使用Windows,所以我们以前从未见过这个问题。但是,我认为我找到了根本原因:DotNetCompilerPlatform.props WebProjectOutputDir
为空,但我还没有能够验证这一点。
<KillProcess ProcessName="VBCSCompiler" ImagePath="$(WebProjectOutputDir)" />
是否可以手动设置WebProjectOutputDir
,或者至少在Mac上查看其值?为什么这是Mac上的问题,而不是Windows?
我已经四处寻找其他答案,但没有发现它们有用/相关。
答案 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进行构建。