【问题标题】:How to find out which .NET framework nuget package targets?如何找出 .NET 框架 nuget 包的目标?
【发布时间】:2015-11-06 00:44:20
【问题描述】:

我的 C# 项目必须以 .NET 3.5 为目标。框架,我有几个我想在给定项目中安装的 nuget 包。

对于给定的 nuget 包,如何找出它支持的 .NET 框架版本(例如按包的版本),而无需我尝试安装包的每个可用版本以查看其安装是否通过由于给定版本的包对高于 3.5 的 .NET 框架的依赖性而不会回滚。?

例如,我知道 xUnit.net 版本为 1.9.2。是支持 .NET 3.5 的最高版本,但我不得不“手动”找出这个。

【问题讨论】:

  • 这似乎是一条非常基本的信息,应该只显示在 NuGet 库中的包...列出所有支持的框架和版本。我对为什么没有这样做感到有点困惑。
  • 按目标框架过滤是一个悬而未决的问题github.com/NuGet/NuGetGallery/issues/2936

标签: nuget nuget-package .net-framework-version


【解决方案1】:

无法评论上一个答案,但 packages.config 中的 targetFramework 属性是安装该包时项目的 .NET 版本。

例如,我有两个使用 Newtonsoft.Json 9.0.1 的项目,这些是它们各自的 packages.config 文件中的行:

  <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net452" />

  <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net462" />

【讨论】:

  • 在哪里可以找到 packages.config?
【解决方案2】:

packages.config 应该给你版本信息

例子

<package id="xunit" version="2.2.0-beta1-build3239" targetFramework="net46" />
  <package id="xunit.abstractions" version="2.0.0" targetFramework="net46" />
  <package id="xunit.assert" version="2.2.0-beta1-build3239" targetFramework="net46" />
  <package id="xunit.core" version="2.2.0-beta1-build3239" targetFramework="net46" />
  <package id="xunit.extensibility.core" version="2.2.0-beta1-build3239" targetFramework="net46" />
  <package id="xunit.extensibility.execution" version="2.2.0-beta1-build3239" targetFramework="net46" />
  <package id="xunit.runner.msbuild" version="2.2.0-beta1-build3239" targetFramework="net46" developmentDependency="true" />
  <package id="xunit.runner.visualstudio" version="2.2.0-beta1-build1144" targetFramework="net46" developmentDependency="true" />

【讨论】:

  • packages.config 文件是在安装包后创建的,所以这不能回答问题。
【解决方案3】:

冒着惹恼 Stack 管理员的风险,因为他们敢于提交错误的答案... 您可以下载 .nupkg 文件 (https://www.nuget.org/packages > Download ) 然后解压缩。在该文件中,您可以找到对 PlatformToolset、ToolsVersion 的引用,我可以使用它来查找编译器的特定版本。 (“v110” = Visual C++ 2012,“v120” = Visual C++ 2013 等。要获得框架,您可以使用反编译器工具,如 ILSpy 来检查包含的文件以查看它们的目标版本。

【讨论】:

    猜你喜欢
    • 2018-09-10
    • 1970-01-01
    • 2023-03-14
    • 2020-03-05
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多