Visual Studio MacOS错误MSB4057:目标"构建"在项目中不存在

时间:2017-01-22 06:33:18

标签: c# .net xamarin asp.net-core compiler-errors

我在VS MacOS中创建了一个简单的C#.net核心控制台应用程序项目。但我得到错误MSB4057。 stackoverflow上有一个类似的问题,但没有解释如何修复此类错误。

当我创建asp.net核心项目时,问题是一样的。

Build FAILED.

/Users/abhimanyuaryan/Unity3D/LearnCSharp/LearnCSharp/LearnCSharp.csproj : error MSB4057: The target "Build" does not exist in the project.
    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:00.02

---------------------- Done ----------------------

Build: 1 error, 0 warnings

2 个答案:

答案 0 :(得分:12)

将Mono 4.8升级到最新版本(在我的情况下)

是非常重要的

http://www.mono-project.com

然后捆绑的构建环境可以成功编译项目。

内置更新程序似乎没有按预期升级Mono运行时。

更新:现在,安装程序应该可以帮助您自动安装Mono 5.0。

答案 1 :(得分:0)

当我从GitHub下载Xamarin手机样本时,我发现了同样的问题。这发生在一些共享库项目中。在项目文件(.csproj)中,Project标记将具有Build的DefaultTargets属性。

<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

在iOS和Android项目文件的底部,会有包含Build模板说明的Import标签。

<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />

<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />

但是,一些常见的库项目缺少相应的C#构建指令。缺少的标签是:

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

解决此问题:

  1. 卸载项目文件并在Visual Studio中或使用文本编辑器进行编辑。
  2. 在文件底部,就在结束之前&lt; / Project&gt;标记,添加缺少的Microsoft.CSharp.targets导入标记。
  3. 保存文件并在解决方案中重新加载项目。