.netframework ref .netframework dll ref .netcore via nuget packages

时间:2017-09-29 23:57:05

标签: c# .net .net-core visual-studio-2017 .net-framework-version

长话短说,新的代码正在构建.netcore 1.6

我们在.netframework 3.5到4.6.2

的所有内容中都有一公吨的东西

旧东西需要引用新东西,反之亦然。据说这可能是微软的。

但是......如果我制作一个新的csproj目标.netframework 461,我可以使用由项目定位的解决方案创建的nuget包.netcore 1.6

现在,如果我有另一个针对.netframework 461的csproj / dll,针对前面提到的.netframework 461(即使用nuget包获取.netcore 1.6代码),第二个.netframework 461会抛出错误I&# 39;列在下面。

所以:

项目A = .netcore 1.6使用Serilog的第三方工具

项目B = .netframework 461

项目C = .netframework 461

项目B通过nuget包加载项目A

项目C通过'添加参考'加载项目B.老派dll。

如果我将Project B作为控制台应用程序执行,则Project B和A中的所有代码都会正确执行。如果我然后将项目B更改为库,并让项目C将项目B引用为"添加引用" DLL,并尝试调用项目B中的代码,我收到错误:

=== Pre-bind state information ===
LOG: DisplayName = System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
(Fully-specified)
LOG: Appbase = file:///[BLOCKED OUT ON PURPOSE]
LOG: Initial PrivatePath = NULL
Calling assembly : Microsoft.Extensions.Configuration, Version=1.1.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: [BLOCKED OUT ON PURPOSE]\ConsoleAppTest.exe.Config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Redirect found in application configuration file: 4.0.0.0 redirected to 4.1.0.0.
LOG: Post-policy reference: System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
LOG: Attempting download of new URL file:///[BLOCKED OUT ON PURPOSE]/System.Runtime.DLL.
LOG: Attempting download of new URL file:///[BLOCKED OUT ON PURPOSE]/System.Runtime/System.Runtime.DLL.
LOG: Attempting download of new URL file:///[BLOCKED OUT ON PURPOSE]/bin/Debug/System.Runtime.EXE.
LOG: Attempting download of new URL file:///[BLOCKED OUT ON PURPOSE]/bin/Debug/System.Runtime/System.Runtime.EXE.

   at [BLOCKED OUT ON PURPOSE].Connection.Connect()
   at ConsoleAppTest.Program.Main(String[] args) in [BLOCKED OUT ON PURPOSE]\ConsoleAppTest\Program.cs:line 14

不幸的是,降级/升级Microsoft.Extensions.Configuration,版本= 1.1.2.0不是一个选项。我必须使用该版本,因为第三方库通过使用Serilog来使用它。

我尝试将Project B作为nuget包。这样每个人都可以使用nuget包来引用其他人。然而在2017年的"包"选项卡没有出现在项目B的属性窗口中。我下载了第三方nuget包创建者,我可能没有正确使用它,但我也无法以这种方式工作。

0 个答案:

没有答案