UWP 安装 MVVM Light 和 NuGet

UWP Install MVVM Light and NuGet

我在 Visual Studio 2019 年从事一个 UWP 项目,我想安装 MVVM 包。问题是,就我而言,由于 NuGet 3.1 包安装不允许创建新文件和文件夹,因为它们不知道卸载这些包时要做什么。我想知道如何安装 MVVM Light,以便创建这些文件并成功完成安装。预先感谢您的回答

问题是您的 uwp 项目使用 PackageReference nuget management format. And the author of MvvmLight nuget packagenupkg 下添加了 content 节点。 它会自动将 content 文件夹中的文件从 nupkg 添加到主项目中。但是,这仅适用于 packages.config nuget management format.

And 因为你的 UWPprojects 使用 PackageReference,它不会工作。

而不是,作者应该将contentFiles节点添加到nupkg文件中。参见 one document , and

建议

1) 需要联系nuget包的作者将contentFiles添加到nuget包中

2) 由于解决方案可能需要很长时间,您可以尝试使用 packages.config nuget 管理格式。虽然它可能有一些问题,但值得尝试,这是获得你想要的东西的快速方法请备份你的项目。

a) 记住您在 uwp 项目上安装的任何 nuget 包及其版本。

b)然后,进入uwp工程的csproj文件

comment or delete these xml nodes:


  <PropertyGroup>
    <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
  </PropertyGroup>

并像这样删除所有 PackageReference 节点:

<ItemGroup>
    <PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
      <Version>6.2.10</Version>
    </PackageReference>
  </ItemGroup>
......
......
<ItemGroup>

c)关闭VS,删除解决方案文件夹下的.vs隐藏文件夹,uwp工程的binobj文件夹。

d)重启VS,输入Tools-->Options-->Nuget Package Manager-->General并将 包管理 更改为 Packages.config.

e) 然后通过 packages.config.

安装这些 nuget 包

注意:请先安装Microsoft.NETCore.UniversalWindowsPlatform nuget包版本6.2.8。之后,安装其他 nuget 包,包括 MvvmLight.

你会看到来自nuget包的内容文件: