【发布时间】:2017-11-30 10:15:41
【问题描述】:
我有一个奇怪的问题,让我发疯……
我有一个简单的类库项目(完整的 .NET Framework,4.6.1),其中包含一个用于 Cosmos DB 功能的包装类。因此,我已将“Microsoft.Azure.DocumentDB”NuGet Package 1.19.1 添加到该项目中。除此之外,我还参考了“Newtonsoft.Json”NuGet 包 10.0.3,以及几个“Microsoft.Diagnostics.EventFlow.*”NuGet 包。
到目前为止,一切编译都没有任何错误。
但只要我点击我的包装类 - 从一个简单的 Service Fabric 无状态服务(完整的 .NET Framework 4.6.1)消耗 - 并尝试执行以下代码行:
_docClient = new DocumentClient(new Uri(cosmosDbEndpointUrl), cosmosDbAuthKey);
我在运行时收到这个奇怪的错误:
System.IO.FileNotFoundException 发生 HResult=0x80070002
消息=无法加载文件或程序集 'System.Net.Http, 版本=4.2.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a' 或 它的依赖项之一。系统找不到指定的文件。
来源= StackTrace:在 Microsoft.Azure.Documents.Client.DocumentClient.Initialize(Uri serviceEndpoint, ConnectionPolicy connectionPolicy, Nullable1 desiredConsistencyLevel) at Microsoft.Azure.Documents.Client.DocumentClient..ctor(Uri serviceEndpoint, String authKeyOrResourceToken, ConnectionPolicy connectionPolicy, Nullable1 desiredConsistencyLevel)内部异常 1:FileNotFoundException:无法加载文件或 程序集'System.Net.Http,版本=4.0.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。这 系统找不到指定的文件。
我完全不知道为什么根本找不到 System.Net.Http 程序集——在我的类库项目中甚至有一个对 .Net 框架程序集“System.Net.Http 4.0.0.0”的程序集引用.
我也不明白的是,有一个奇怪的绑定重定向到 4.2.0.0——那个是从哪里来的? 为了解决这个问题,我尝试将以下重定向添加到 Service Fabric 服务的 app.config(它正在使用类库):
但仍然没有区别,我仍然在运行时收到错误。
有人知道吗?有人见过这样的问题吗?
【问题讨论】:
-
嗨,奥利弗B!您是否找到解决此问题的方法?我只是面临同样的情况,这是一场噩梦:-(
-
如果前 5 个答案对您不起作用,请参阅下面关于将程序集添加到 web.config 的编译部分的答案。
标签: .net visual-studio-2017 dotnet-httpclient service-fabric-stateless