2013-05-08 89 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