生产中的Unhandeld异常System.Net.Http 4.1.1.1 FileNotFoundException

时间:2017-08-16 07:35:26

标签: c# nuget-package filenotfoundexception

当我发布.Net 4.6.2控制台应用程序并将其安装在远程Win 2012r2上时,只会弹出此错误。

  

Onverwerkte uitzondering:System.IO.FileNotFoundException:Kan最好和程序集Sy   stem.Net.Http,Version = 4.1.1.1,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a of e   en van de afhankelijkheden hiervan niet laden。 Het systeem kan het opgegeven bestand   niet vinden。 ---> System.IO.FileNotFoundException:Kan最好和程序集System.Net   .Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a of een van d   e afhankelijkheden hiervan niet laden。 Het systeem kan het opgegeven bestand niet vin   书房。      --- Einde van intern uitzonderingsstackpad ---      bij Microsoft.AspNet.SignalR.Client.Http.DefaultHttpClient.Initialize(IConnection   连接)      bij Microsoft.AspNet.SignalR.Client.Transports.TransportHelper.GetNegotiationRespo   nse(IHttpClient httpClient,IConnection连接,String connectionData)      bij Microsoft.AspNet.SignalR.Client.Transports.AutoTransport.GetNegotiateResponse(   IConnection连接,String connectionData)      bij Microsoft.AspNet.SignalR.Client.Transports.AutoTransport.Negotiate(IConnection    连接,String connectionData)      bij Microsoft.AspNet.SignalR.Client.Connection.Negotiate(IClientTransport transpor   T)      bij Microsoft.AspNet.SignalR.Client.Connection.Start(IClientTransport transport)      bij Microsoft.AspNet.SignalR.Client.Connection.Start()      bij CasaCommon.HouseContext..ctor()      bij ConsoleApp4.Program.GetOperator()      bij ConsoleApp4.Program.Main(String [] args)

不幸的是我安装了荷兰语包。但它说:未处理的例外。无法找到文件或程序集system.net.http或其中一个依赖项。

我有一个带有nuget System.Net.Http 4.3.2(最新)的控制台应用程序,但这似乎发生在我的类库(.Net 4.6.2)项目中的Signalr.Client相关内容。有一个Signalr.Client nuget 2.2.2依赖于 Microsoft .Net.Http所以我没有在该类lib中使用nuget / ref到System.Net.Http。由于这个错误,我添加了System.Net.Http 4.3.2的nuget,但是没有解决它。错误仍然是一样的。我甚至无法将4.3.2降级到4.1.1.1,因为只有4.1.1

当我降级到4.1.1时,错误仍然相同,并且安装了System.Diagnostics.DiagnosticSource.4.0.0。所以无论我尝试什么。我一直在生产中遇到这个错误。在我的机器上工作...... 我已经阅读了有关在解决方案资源管理器中删除引用节点中的默认引用的内容。 Why I can not use System.Net.Http package in a solution with System.Net.Http reference? 但这并没有解决它。

1 个答案:

答案 0 :(得分:0)

必须在控制台应用程序项目和类lib项目的app.config中注释掉这篇文章

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <!--<dependentAssembly>
                <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-4.1.1.1" newVersion="4.1.1.1" />
            </dependentAssembly>-->
       </assemblyBinding>
    </runtime>
</configuration>

它以某种方式自动添加到app.config个文件中。我知道我自己没有添加这些行。