首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何正确地从引用的NuGet包中选择程序集?

如何正确地从引用的NuGet包中选择程序集?
EN

Stack Overflow用户
提问于 2015-12-24 09:17:38
回答 1查看 220关注 0票数 0

我使用NuGet.Core库以编程方式安装包;这也会自动安装包的所有依赖项,但其中一些包是多目标的,包含针对不同.NET版本的多个程序集版本。

如何从这些多目标包中选择正确版本的程序集(也就是在Visual中手动安装NuGet包时所用的方式)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-24 14:13:53

可以使用VersionUtility类查找兼容项。这就是NuGet在项目中安装NuGet包时所做的事情。传递所有项的列表,如NuGet包中的引用,目标框架名称(如".NETFramework,Version=4.0“),VersionUtility类将返回兼容项。

从NuGet.Core获取并稍微修改的一些示例代码:

代码语言:javascript
运行
复制
List<IPackageAssemblyReference> assemblyReferences =
    GetCompatibleItems(package.AssemblyReferences).ToList();

static IEnumerable<T> GetCompatibleItems<T>(FrameworkName targetFramework, IEnumerable<T> items) where T : IFrameworkTargetable
{
        IEnumerable<T> compatibleItems;
        if (VersionUtility.TryGetCompatibleItems(targetFramework, items, out compatibleItems))
        {
                return compatibleItems;
        }
        return Enumerable.Empty<T>();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34450270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档