【问题标题】:Cannot install Visual Studio C# NuGet package无法安装 Visual Studio C# NuGet 包
【发布时间】:2019-07-23 17:13:12
【问题描述】:

我正在编写一个 Unity 应用程序,当我在大型 JPG 上使用 LoadImage 时,我一直遇到游戏引擎冻结,所以我决定尝试在线程上解码 JPG 图像(以免冻结主线程在主线程上解码 JPG,这是我关于为什么会发生冻结的理论)。

计划是,在线程解码JPG后,使用主线程调用LoadRawImageData将解码后的图像数据加载到纹理中,这应该很快,因为它不必解码任何东西。

要做所有我需要找到一个 JPG 解码器包,所以在 Visual Studio NuGet 包管理器中,我看到了包“LibJpeg.NET”,它声称没有依赖关系,但是当我尝试在我的使用 .Net 3.5 的 Visual Studio Unity 项目出现 Nuget 错误

无法安装软件包“LibJpeg.NET-ts 2.0.1”。您正在尝试将此包安装到以“.NETFramework,Version=v3.5”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请联系包作者。

有人知道如何解决这个问题,或者有人知道我可以在 Unity 的线程上使用另一个免费的 .NET 3.5 兼容跨平台(Windows/Mac/iOS/Android)JPEG 解码器包来解码 JPG?

【问题讨论】:

  • 你可以看看 ImageMagick 包——我记得 10 年前用过它们

标签: c# visual-studio unity3d


【解决方案1】:

如果您检查nuget package page,它表示如果您的应用程序针对低于 .Net framework 4 的任何版本,您将无法安装它。

支持的平台 .NET 4 及更高版本、Windows 8 及更高版本、Windows Phone Silverlight 8 和 8.1、Windows Phone 8.1 及更高版本、Silverlight 5、Xamarin Android、Xamarin iOS(经典和统一API)。包裹 还包括一个适用于 .NET Core 的程序集,标准库 1.0。

如果您希望您的项目在 windows/linux/max 上使用,那么它应该针对 .net 标准(即 .Net core )版本。

一旦您以 .net 标准为目标,您就可以使用相同的包,也可以使用其他一些库,例如 BitMiracle.LibJpeg.NETlibjpeg-turbo-net

希望这会有所帮助。

【讨论】:

  • 哦,对了,我现在明白了。谢谢!所以一个统一的应用程序也可以针对 .net 标准?
  • 如果选择旧版本的库,没有依赖关系,所以只需在nuget浏览器中选择旧版本如1.5.0.1
  • 感谢您的建议,但是很奇怪它只显示了2.0.1版本,libjpeg.net的NUGET对话框中没有显示其他版本
  • Unity 以 .net 核心为目标。请参阅此博客了解更多详情 - loekvandenouweland.com/content/…
  • .NET Framework 4.7.2 conforms to .NET Standard 2.0 也是,不仅仅是 .NET Core。所以你可能想删除“(即.Net核心框架)”......
猜你喜欢
  • 2017-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-01
  • 2017-11-09
  • 1970-01-01
  • 1970-01-01
  • 2017-04-02
相关资源
最近更新 更多