WCF服务无法仅在发布版本中找到System.Net.Http

时间:2017-06-24 04:04:02

标签: c# .net http clickonce

我正在处理最近从.Net framework 4.5.2更新到4.7的WinForms应用程序中出现的错误。在部署应用程序之后,只会出现问题。该错误源自我正在使用的WCF服务(.svc)内部。我得到的具体错误文本是:

  

无法加载文件或程序集'System.Net.Http,Version = 4.1.1.1,   Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个   依赖。系统找不到指定的文件。

在尝试解决此问题时,我将App.Config文件调整为从System.Net.Http version 4.1.1.14.3.2的绑定重定向(实际上并不存在)。

已解决服务问题;但是,当我拨打System.Net.Http来下载字符串时,调用失败了。据推测,这是因为我指示System.Net.Http使用实际上不存在的依赖项(4.3.2)。

这意味着目前我可以选择:服务是否有效,或直接调用System.Net.Http工作,但不是两者兼而有之。有谁知道如何使服务能够找到System.Net.Http 4.1.1.1?它是通过NuGet安装的...只是看似不被认可,除非: 1)我发出绑定重定向到System.Net.Http的实际不存在的版本。 要么 2)我从Visual Studio以调试/发布模式运行程序(部署版本不起作用)。

1 个答案:

答案 0 :(得分:1)

经过几天的麻烦,我发现了这个问题。 System.Net.Http未按预期发布。这是一个已知问题(在理论上已得到解决),可在此处找到:

https://blogs.msdn.microsoft.com/bclteam/p/httpclient/

func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
        return UIInterfaceOrientationMask(rawValue: UIInterfaceOrientationMask.landscape.rawValue)
    }