我在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
答案 0 :(得分:12)
将Mono 4.8升级到最新版本(在我的情况下)
是非常重要的然后捆绑的构建环境可以成功编译项目。
内置更新程序似乎没有按预期升级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" />
解决此问题: