我喜欢新的' msbuild包' VS2017中的nuget包生成。我想用它来生成一个使用Xamarin.Mac供Xamarin Mobile Mac项目使用的库。我试过了
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>Xamarin.Mac</TargetFrameworks>
</PropertyGroup>
</Project>
但我得到
Severity Code Description Project File Line Suppression State
Error Cannot infer TargetFrameworkIdentifier and/or TargetFrameworkVersion from TargetFramework='Xamarin.Mac'. They must be specified explicitly. Kumquat.Common.Mac C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInference.targets 84
<TargetFrameworks>netstandard1.4;net45;MonoAndroid71;Xamarin.iOS10;uap10.0</TargetFrameworks>
然而,当我尝试Xamarin.iOS10时,我得到了类似的错误。我需要在我的机器上安装一些特殊的东西才能获得Xamarin。*作为Target Frameworks吗?我确实安装了Xamarin。我有VS2017(版本15.2)。
答案 0 :(得分:0)
Microsoft.NET.Sdk
尚不支持此目标框架的自动推断。正如您在链接的示例中所看到的,它们稍后会在同一项目中添加所需的定义:
<PropertyGroup Condition=" '$(TargetFramework)' == 'Xamarin.iOS10' "> <TargetFrameworkIdentifier>Xamarin.iOS</TargetFrameworkIdentifier> <TargetFrameworkVersion>v1.0</TargetFrameworkVersion> <LanguageTargets>$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets</LanguageTargets> <DefineConstants>$(DefineConstants);PLATFORM_IOS;XAMARIN_AUTH_INTERNAL</DefineConstants> </PropertyGroup>
.NET Sdk目前仅为TargetFrameworkIdentifier
,TargetFrameworkVersion
和netstandard
推断出netcoreapp
和net
的逻辑(参见the source })