【问题标题】:Can I safely replace all net46 dependencies on nuget packages with net45?我可以用 net45 安全地替换 nuget 包上的所有 net46 依赖项吗?
【发布时间】:2018-06-29 15:52:02
【问题描述】:

我的项目开始时是 .net 4.6,但后来我想添加对 Interop.CERTENROLLLib.Unofficial 的引用,但我不能,所以我将项目更改为 .net 4.5,然后我可以添加该引用。

但所有其他参考文献都在 46 中

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="AngleSharp" version="0.9.9" targetFramework="net46" />
  <package id="Antlr" version="3.4.1.9004" targetFramework="net46" />
  <package id="bootstrap" version="3.0.0" targetFramework="net46" />
  <package id="Interop.CERTENROLLLib.Unofficial" version="1.0.0" targetFramework="net45" />
  <package id="jQuery" version="1.10.2" targetFramework="net46" />
  <package id="Microsoft.ApplicationInsights" version="2.2.0" targetFramework="net46" requireReinstallation="true" />
  <package id="Microsoft.ApplicationInsights.Agent.Intercept" version="2.0.6" targetFramework="net46" />
  <package id="Microsoft.ApplicationInsights.DependencyCollector" version="2.2.0" targetFramework="net46" />
  <package id="Microsoft.ApplicationInsights.PerfCounterCollector" version="2.2.0" targetFramework="net46" />
  <package id="Microsoft.ApplicationInsights.Web" version="2.2.0" targetFramework="net46" />
  <package id="Microsoft.ApplicationInsights.WindowsServer" version="2.2.0" targetFramework="net46" />
  <package id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="2.2.0" targetFramework="net46" />
  <package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.WebApi.HelpPage" version="5.2.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net46" />
  <package id="Microsoft.Azure.ActiveDirectory.GraphClient" version="2.1.0" targetFramework="net46" />
  <package id="Microsoft.Azure.KeyVault.Core" version="1.0.0" targetFramework="net46" />
  <package id="Microsoft.Data.Edm" version="5.6.4" targetFramework="net46" />
  <package id="Microsoft.Data.OData" version="5.6.4" targetFramework="net46" />
  <package id="Microsoft.Data.Services.Client" version="5.6.4" targetFramework="net46" />
  <package id="Microsoft.Graph" version="1.3.0" targetFramework="net46" />
  <package id="Microsoft.Graph.Core" version="1.4.0" targetFramework="net46" />
  <package id="Microsoft.Identity.Client" version="1.0.304142201-alpha" targetFramework="net46" />
  <package id="Microsoft.IdentityModel" version="6.1.7600.16394" targetFramework="net46" />
  <package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="3.19.5" targetFramework="net46" />
  <package id="Microsoft.IdentityModel.Logging" version="5.2.1" targetFramework="net46" requireReinstallation="true" />
  <package id="Microsoft.IdentityModel.Tokens" version="5.2.1" targetFramework="net46" requireReinstallation="true" />
  <package id="Microsoft.Owin" version="4.0.0" targetFramework="net46" requireReinstallation="true" />
  <package id="Microsoft.Owin.Host.SystemWeb" version="4.0.0" targetFramework="net46" requireReinstallation="true" />
  <package id="Microsoft.Owin.Security" version="4.0.0" targetFramework="net46" requireReinstallation="true" />
  <package id="Microsoft.Owin.Security.ActiveDirectory" version="3.1.0" targetFramework="net46" />
  <package id="Microsoft.Owin.Security.Jwt" version="3.1.0" targetFramework="net46" />
  <package id="Microsoft.Owin.Security.OAuth" version="4.0.0" targetFramework="net46" requireReinstallation="true" />
  <package id="Microsoft.SharePoint.Client.Online.CSOM" version="15.0.4859.1003" targetFramework="net46" />
  <package id="Microsoft.SharePointOnline.CSOM" version="16.1.7618.1200" targetFramework="net46" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net46" />
  <package id="Modernizr" version="2.6.2" targetFramework="net46" />
  <package id="Newtonsoft.Json" version="10.0.3" targetFramework="net46" />
  <package id="Owin" version="1.0" targetFramework="net46" />
  <package id="Respond" version="1.2.0" targetFramework="net46" />
  <package id="SharePointPnP.IdentityModel.Extensions" version="1.2.3" targetFramework="net46" />
  <package id="SharePointPnPCoreOnline" version="2.26.1805.1" targetFramework="net46" />
  <package id="System.IdentityModel.Tokens.Jwt" version="4.0.4.403061554" targetFramework="net46" />
  <package id="System.Net.Http" version="4.3.1" targetFramework="net46" requireReinstallation="true" />
  <package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net46" requireReinstallation="true" />
  <package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net46" requireReinstallation="true" />
  <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net46" requireReinstallation="true" />
  <package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net46" requireReinstallation="true" />
  <package id="System.Spatial" version="5.6.4" targetFramework="net46" />
  <package id="WebGrease" version="1.5.2" targetFramework="net46" />
  <package id="WindowsAzure.Storage" version="7.0.0" targetFramework="net46" />
</packages>

在 VS 中我收到很多警告,我该怎么办?我应该手动降级还是?

【问题讨论】:

  • 你为什么需要它?您可以轻松添加 COM 引用,Visual Studio 将生成程序集。在完全没有必要时使用 NuGet 包是一种懒惰。也不需要降级到net45。
  • 也许你可以从头开始创建一个相同的项目,除了选择 net 4.5。然后从该项目中复制 packages 部分。

标签: c# asp.net .net asp.net-web-api


【解决方案1】:

当一个人发现自己处于这种情况时的正确解决方案......

  1. 将存在运行时目标冲突的项目设置为您想要的运行时,即 NET45 或 NET46。
  2. 然后使用 NuGet 包管理 CLI 调用重新安装包。

CLI:&gt; Update-Package -proj MyProject -reinstall

它不仅修复了packages.config,还修复了.CSPROJ 依赖项和web.config 程序集重定向。

【讨论】:

    【解决方案2】:

    最后我创建了从 scatch 到 .net 4.5 的项目并手动添加了引用,然后所有警告都消失了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-03
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 2019-03-19
      • 1970-01-01
      • 2019-10-25
      • 2018-03-18
      相关资源
      最近更新 更多