将 Visual Studio 2022 预览版从 2.1 问题构建更新到 17.2.0 预览版 3
Updated Visual Studio 2022 Preview to 17.2.0 preview 3 from 2.1 issue building
我通常会在 android 模拟器上构建,在最新更新之前不会出现任何问题。现在我得到这个错误:
错误 NETSDK1130 Microsoft.Graphics.Canvas.winmd 无法引用。不支持在面向 .NET 5 或更高版本时直接引用 Windows 元数据组件。
我已确保所有 nuget 包都是最新的。
据我所知,C# 项目中的引用看起来不错:
<ItemGroup Condition="$(TargetFramework.Contains('-windows'))">
<!-- Required - WinUI does not yet have buildTransitive for everything -->
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.0.0" />
<PackageReference Include="Microsoft.Graphics.Win2D" Version="1.0.1" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Graphics.Win2D" Version="1.0.1" />
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.0.2" />
<PackageReference Include="sqlite-net-pcl" Version="1.8.116" />
<PackageReference Include="SQLitePCLRaw.bundle_green" Version="2.0.7" />
<PackageReference Include="SQLitePCLRaw.core" Version="2.0.7" />
<PackageReference Include="SQLitePCLRaw.provider.dynamic_cdecl" Version="2.0.7" />
</ItemGroup>
其他没有改变。有人解决了这个问题吗?
首先,您指定了这些行两次,其中一次使用了不同的版本号:
<PackageReference Include="Microsoft.Graphics.Win2D" Version="1.0.1" />
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.0.2" />
其次,这看起来像一个较旧的模板,也就是您已使用较早的预览开始此项目。这很好,但是对于每次更新,请仔细查看迁移项目以使用最新版本所需的内容。例如,这里是 the notes for RC1。它专门针对这些包提到:
These are no longer needed in your csproj
<ItemGroup Condition="$(TargetFramework.Contains('-windows'))">
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.0.0" />
<PackageReference Include="Microsoft.Graphics.Win2D" Version="1.0.0.30" />
</ItemGroup>
这对我有帮助:
https://github.com/dotnet/maui/wiki/Migrating-to-RC1
我完成了自“迁移到预览版 13”以来的所有升级步骤
我通常会在 android 模拟器上构建,在最新更新之前不会出现任何问题。现在我得到这个错误: 错误 NETSDK1130 Microsoft.Graphics.Canvas.winmd 无法引用。不支持在面向 .NET 5 或更高版本时直接引用 Windows 元数据组件。
我已确保所有 nuget 包都是最新的。 据我所知,C# 项目中的引用看起来不错:
<ItemGroup Condition="$(TargetFramework.Contains('-windows'))">
<!-- Required - WinUI does not yet have buildTransitive for everything -->
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.0.0" />
<PackageReference Include="Microsoft.Graphics.Win2D" Version="1.0.1" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Graphics.Win2D" Version="1.0.1" />
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.0.2" />
<PackageReference Include="sqlite-net-pcl" Version="1.8.116" />
<PackageReference Include="SQLitePCLRaw.bundle_green" Version="2.0.7" />
<PackageReference Include="SQLitePCLRaw.core" Version="2.0.7" />
<PackageReference Include="SQLitePCLRaw.provider.dynamic_cdecl" Version="2.0.7" />
</ItemGroup>
其他没有改变。有人解决了这个问题吗?
首先,您指定了这些行两次,其中一次使用了不同的版本号:
<PackageReference Include="Microsoft.Graphics.Win2D" Version="1.0.1" />
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.0.2" />
其次,这看起来像一个较旧的模板,也就是您已使用较早的预览开始此项目。这很好,但是对于每次更新,请仔细查看迁移项目以使用最新版本所需的内容。例如,这里是 the notes for RC1。它专门针对这些包提到:
These are no longer needed in your csproj
<ItemGroup Condition="$(TargetFramework.Contains('-windows'))"> <PackageReference Include="Microsoft.WindowsAppSDK" Version="1.0.0" /> <PackageReference Include="Microsoft.Graphics.Win2D" Version="1.0.0.30" /> </ItemGroup>
这对我有帮助: https://github.com/dotnet/maui/wiki/Migrating-to-RC1
我完成了自“迁移到预览版 13”以来的所有升级步骤