从 .Net 4.0 到 4.5 的重定向解决方案 - 如何重定向 NuGet 包?

2024-02-26

我已将 VS2010 中当前针对 .NET 4.0 的解决方案迁移到 VS2012,现在我想将其重新定位到 .Net 4.5

我不确定的是 NuGet 包。例如,我在 VS2010 中从 EF4 更新的 EF5 实际上是 EF 4.4,如下所示:

    <Reference Include="EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll</HintPath>
    </Reference>

我还可以在项目的packages.config 中看到以下内容:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="EntityFramework" version="5.0.0" targetFramework="net40" />
</packages>

所以我的问题是:

将当前设置为目标 .NET 4.0 的所有 NuGet 包重新定位为目标 .NET 4.5 的最佳实践是什么?


NuGet 2.1提供了一个功能,使这变得更加简单:只需做update-package -reinstall -ignoreDependencies从包管理器控制台。

NuGet 2.0不能很好地处理应用程序的重新定位。为了更改软件包的目标框架,您必须卸载并重新安装软件包(记下已安装的软件包,以便可以重新安装每个软件包)。

必须卸载并重新安装软件包的原因是:

  • 安装包时,我们确定您项目的目标框架
  • 然后,我们将其与包内容进行匹配,找到适当的 \lib\ 文件夹(和 \content\ 文件夹)
  • 添加程序集引用以及指向包的 \lib\ 文件夹的提示路径,以及正确的子文件夹(例如 \lib\net40)
  • 内容文件从包 \content\ 文件夹复制,并带有正确的子文件夹(例如 \content\net40)
  • 我们在packages.config文件中记录用于安装包的targetFramework
  • 更改项目的目标框架后,提示路径仍然指向 net40
  • 当您卸载软件包时,我们会检查packages.config中记录的targetFramework,以查看要从项目中删除哪些目标框架的库/内容
  • 当您重新安装软件包时,我们会检测您更新的目标框架并引用/复制正确的库/内容
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 .Net 4.0 到 4.5 的重定向解决方案 - 如何重定向 NuGet 包? 的相关文章

随机推荐

  • 正则表达式随 Pip 安装但无法识别

    所以我尝试使用正则表达式解析文件中的数据 我已经成功安装了正则表达式 pip install regex Requirement already satisfied regex in usr local lib python3 8 site
  • Python/OpenCV — 匹配两幅图像中细菌的质心点

    我正在研究一种使用计算机视觉来匹配细菌质心的算法 由于我是计算机视觉的本科生和初学者 因此我没有专门针对此问题的代码 只是为了提供一些背景知识 我在 GUI 中使用了以下函数 bact 变量是指 Bacteria 对象 它存储每个细菌的 I
  • 如何在 php-cs-fixer 中使用其他文件扩展名,例如 .ctp?

    如何在 php cs fixer 中使用其他文件扩展名 例如 cakephp 模板 ctp 文件 我尝试过这段代码
  • Javascript 日期为该月的第二个星期一

    我正在与一个在每月第二个星期一开会的小组合作 他们希望他们的网站能够反映下一次会议的日期 我有本月第二个星期一显示的脚本 但我在使用 if else 语句时遇到了问题 我需要它来反映下一个即将发生的事件 而不仅仅是本月的日期 IE 本月的活
  • BlackBerry SQLite 数据库创建:“文件系统未就绪”

    我的应用程序从服务器获取数据并将其保存到 SQLite 数据库中 这在 9550 中工作得很好 黑莓风暴2 http en wikipedia org wiki BlackBerry Storm 2 模拟器 但是当我在任何其他模拟器中运行它
  • 如何解决“java.lang.OutOfMemoryError:超出GC开销限制”

    I read 这个堆栈溢出页面 https stackoverflow com questions 1393486 what does the error message java lang outofmemoryerror gc over
  • 将自定义 WSDL 绑定到现有 WCF 服务

    我使用 WCF 创建了一个 Web 服务 我不知道如何通过数据契约在 WSDL XSD 中设置约束和限制 如果我使用约束改进 XSD2 架构 然后将此自定义架构绑定到现有服务会怎样 如果是这样 我怎样才能使服务公开改进的 WSDL 否则 还
  • R按组计数元素的出现次数[重复]

    这个问题在这里已经有答案了 计算每个组中向量或数据帧上元素出现次数的最简单方法是什么 我的意思并不是只计算总数 正如其他 stackoverflow 问题所要求的那样 而是为每个连续发生的事件提供不同的数字 例如对于这个简单的数据框 但我将
  • jQuery Sortable - 拖放多个项目

    我有以下代码 它允许用户从一个列表拖放到另一个列表 现在 我如何允许用户选择并拖放多个项目 像这样的东西吗 http jsfiddle net T68Fn http jsfiddle net T68Fn 我尝试将 jsfiddle 中的代码
  • 用于 ASP.NET Core 应用程序生产的 Kestrel 准备好了吗?

    我有一个在 asp net core 2 0 中开发的角度应用程序使用的 api 它已部署在 IIS 中并配置为使用 kestrel 我读到 Kestrel 在公开公开应用程序时并不安全等等 真的吗 Kestrel 还没有准备好用于生产吗
  • C++ 正则表达式解析嵌套结构

    我有一个永久格式如下的字符串 First nested string Second nested string 嵌套可以是任意深度 每个子元素都采用右大括号的格式 在上一层嵌套和右大括号的基础上添加两个空格 我想接收允许获取嵌套数据的正则表
  • 使用 WebCrypto API 生成 RSA 密钥对并使用密码保护它

    标题说明了一切 我想知道如何使用 WebCrypto API 生成 RSA 密钥对 以及如何使用密码保护它 以便将其存储在数据库中 You can 使用 WebCrypto 生成 RSA 密钥对并将其导出如 jwk Json Web 密钥
  • Spark 中的类型安全配置

    我已经在 Spark 应用程序中定义了一个默认配置 该配置位于src main resources reference conf I use ConfigFactory load 来获取配置 当我运行应用程序时spark submit它采用
  • 双Python for循环的numpy向量化

    V 是 n p numpy 数组 通常维度为 n 10 p 20000 我现在的代码看起来像 A np zeros p for i in xrange n for j in xrange i 1 A F i j V i V j 我将如何重写
  • Xpath 选择祖先

    我试图找到一个公式 根据元素在 XML 层次结构中的位置为该元素创建 URL 这是我的示例 xml
  • HttpContent 边界双引号

    我有这个代码示例 它是作为另一个问题的答案发布的 使用 C 通过 HTTP POST 发送文件 https stackoverflow com questions 1131425 send a file via http post with
  • 如何使用jquery查找表中行的索引

    我正在尝试查找表中一行的索引 我正在尝试使用以下代码 但我似乎得到的索引为 1 document ready function tr click function var index table index this span text T
  • 在 Javascript 中将 GMT 日期/时间转换为 EST

    在 Javascript 中 无论用户设置如何 如何将 GMT 中的日期 时间转换为 EST var tmpDate New Date enter any valid Date format here JavaScriptDate http
  • 如何证明一个函数有效?

    我最近开始信奉测试 并主要从单元测试开始 我编写单元测试来说明函数在某些情况下工作 特别是使用我正在使用的确切输入 我可能会做一些单元测试来练习该功能 不过 除了该函数在我测试过的场景下达到了我预期的效果之外 我实际上还没有证明任何其他东西
  • 从 .Net 4.0 到 4.5 的重定向解决方案 - 如何重定向 NuGet 包?

    我已将 VS2010 中当前针对 NET 4 0 的解决方案迁移到 VS2012 现在我想将其重新定位到 Net 4 5 我不确定的是 NuGet 包 例如 我在 VS2010 中从 EF4 更新的 EF5 实际上是 EF 4 4 如下所示