c# - 强制 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 或者更好的是完全忽略目标平台版本不匹配?
解决方案
您是否尝试过您链接的github页面建议在 read.me 底部附近使用统一的 C5?
Unity3d 上的 C5
使用 Xamarin Studio 或 MonoDevelop 打开 C5.csproj 以构建 C5.dll 将 C5.dll 复制到项目的 Asset 文件夹中
在构建项目时,请确保将目标框架设置为与您的 unity 正在使用的框架 (3.5) 相匹配。这对我有用。
如果您打算通过 nuGet 安装它,您可以尝试的另一件事是将包下载到一个单独的 C# 项目中,该项目针对正确的框架,以便 nuGet 允许您下载它。然后,您将下载的文件复制到您的 Unity 项目中。如果该软件包的功能不受支持,您将不得不手动修复这些错误。
推荐阅读
- python - 如何使用 pytest-mock 模拟 python 类依赖项?
- php - 添加 wordpress 网站后的永久链接问题
- c - 在 Linux 上的 C 程序中的 x86_64 中的堆栈
- javascript - 反应道具仅删除 Map() 中的最后一个元素
- mysql - 无法在服务器本身上加载数据本地 Infile
- r - RStudio Server 不使用缓冲区/缓存内存
- ruby-on-rails - 具有 Ruby-on-rails 和 GraphQL 突变的唯一字符串约束
- javascript - Viewbox缩小隐藏图标
- windows - 在 Windows 10/11 for ARM 上注入英特尔 x64 和 x86 仿真
- javascript - 如何遍历数组并将值保存到环境 Postman