Xamarin.Forms netstandard项目因更新VS 2017.3而被打破

时间:2017-08-15 15:30:01

标签: xamarin xamarin.forms visual-studio-2017 .net-standard

所以今天我错误地将我的IDE更新为2017.3。

然后我被告知了不兼容性,例如

" NU1202:软件包Xamarin.Forms 2.3.4.247与netstandard1.5不兼容。包支持:目标列表,如monoandroid10,xamarinios10等"

在谷歌调查此事后,我发现了一些信息,试图修复该项目。

https://github.com/NancyFx/Nancy/issues/2647#issuecomment-265927440建议添加一个frameworkmoniker来构建它(在修复尝试的某个时刻我也有一个平台警告)

我为修复这个问题所做的另一个尝试是将项目重新创建为使用netstandard项目的新模板版本(我为repro提供的项目是在project.json是时创建的。还是一件事)

您可能会问为什么:在查找问题时,我读到有些是误报错误消息,可以像Package Reference Warning Ignore一样禁用 - 但是在这个完全基于.csproj的项目类型中,我是无法添加Xamarin.Forms 2.3.4.247。

所以我的问题是:

有没有人能够在vs2017.3上运行类似的项目?

REPRO项目:

GitHub

1 个答案:

答案 0 :(得分:3)

更改我的项目后,结果如下:

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <TargetFramework>netstandard1.5</TargetFramework>
        <PackageTargetFallback>portable-net45+win8+wpa81+wp8</PackageTargetFallback>
    </PropertyGroup>

    <ItemGroup>
      <EmbeddedResource Include="App.xaml">
        <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
      </EmbeddedResource>
      <EmbeddedResource Include="MainPage.xaml">
        <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
      </EmbeddedResource>
    </ItemGroup>

    <ItemGroup>
        <PackageReference Include="Microsoft.NETCore.Portable.Compatibility" Version="1.0.1" />
        <PackageReference Include="Xamarin.Forms" Version="2.3.4.247" />
    </ItemGroup>

    <ItemGroup>
      <Compile Update="App.xaml.cs">
        <DependentUpon>App.xaml</DependentUpon>
      </Compile>
      <Compile Update="MainPage.xaml.cs">
        <DependentUpon>MainPage.xaml</DependentUpon>
      </Compile>
    </ItemGroup>
</Project>

该项目再次编译。

<PackageTargetFallback>portable-net45+win8+wpa81+wp8</PackageTargetFallback>

解决了这个问题。