首页 > 解决方案 > 强制 nuget 忽略目标框架冲突的包

问题描述

我正在开发一个 Unity3D 项目。我想将C5 nuget 包安装到我的类库项目中。我使用命令Install-Package C5 -ProjectName UplusEditorUtils -IgnoreDependencies。我得到的错误是:

安装包:无法安装包“C5 2.5.3”。您正在尝试将此包安装到以“.NETFramework,Version=v3.5,Profile=Unity Full v3.5”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请联系包作者。在 line:1 char:1 + Install-Package C5 -ProjectName UplusEditorUtils -IgnoreDependencies + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Install-Package],异常 + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

似乎该包与我的项目的目标框架配置文件不兼容.NETFramework,Version=v3.5,Profile=Unity Full v3.5

我无法更改项目的目标配置文件,因为它会导致其他问题,我也不想编辑 C5 项目。

有没有办法告诉 nuget 我的目标框架本质上是 .Net3.5 或者更好的是完全忽略目标平台版本不匹配?

标签: c#unity3dnuget

解决方案


您是否尝试过您链接的github页面建议在 read.me 底部附近使用统一的 C5?

Unity3d 上的 C5

使用 Xamarin Studio 或 MonoDevelop 打开 C5.csproj 以构建 C5.dll 将 C5.dll 复制到项目的 Asset 文件夹中

在构建项目时,请确保将目标框架设置为与您的 unity 正在使用的框架 (3.5) 相匹配。这对我有用。

如果您打算通过 nuGet 安装它,您可以尝试的另一件事是将包下载到一个单独的 C# 项目中,该项目针对正确的框架,以便 nuGet 允许您下载它。然后,您将下载的文件复制到您的 Unity 项目中。如果该软件包的功能不受支持,您将不得不手动修复这些错误。


推荐阅读