2013-05-08 78 views
4

我有一个用C#编写的无法发布System.Net.Http.dll和System.Net.Http.WebRequest.dll的WPF应用程序。为什么发布无法发布System.Net.Http.dll?

当用户启动他们收到错误的应用程序:

Could not load file or assembly 'System.Net.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

复制此问题:

  1. 打开VS2012
  2. 文件 - >新建 - >项目 - > Visual C#中 - > WPF应用程序
  3. 右键单击引用 - >管理NuGet程序包...
  4. 添加个微软的ASP.NET Web API客户端库通过搜索Microsoft.AspNet.WebApi.Client
  5. 右键单击项目 - >属性
  6. 单击发布选项卡
  7. 取消选中自动递增的版本和各发行
  8. 点击立即发布按钮
  9. 注意的是,在publish\Application Files\WpfApplication1_1_0_0_0文件夹,你会看到System.Net.Http.Formatting.dl l.deploy但您不会看到其他两个文件,System.Net.Http.dll.deploySystem.Net.Http.WebRequest.dll.deploy

回答

5

变通


现在,我已经包含在项目的根目录的二进制文件。这有味道,但必须要做,直到有更好的解决方案出现。

步骤变通办法:

  1. 右键单击项目 - >添加 - >现有项
  2. 浏览SolutionRoot\packages\Microsoft.Net.Http.2.0.20710.0\lib\net40选择两个System.Net.Http.dllSystem.Net.Http.WebRequest.dll
  3. 这增加了这两个文件为“内容”的应用程序 - 你会得到警告(MSBuild Error MSB3178),但它不会出现,你可以做任何事情
  4. 请注意,现在当您发布时,这两个文件将位于publish\Application Files\WpfApplication1_1_0_0_0文件夹中
+0

此处同样的问题。你有没有找到更好的方法? – 0li 2017-01-13 16:04:15