gpt4 book ai didi

.net - 使用 ClickOnce 部署 System.Net.Http.dll

转载 作者:行者123 更新时间:2023-12-02 09:43:25 24 4
gpt4 key购买 nike

我正在开发一个将使用 ClickOnce 部署的应用程序。从 .NET 4.5 降级到 .NET 4.0 并替换修复错误引用后,现在我遇到了部署包问题。某些文件(最重要的是 System.Net.Http.dll)未随应用程序一起部署。我已经做了一些检查,但无法断定为什么会发生这种情况。我怀疑创建包时期望该程序集已存在于目标计算机上。如果目标框架是 .NET 4.5,那么这是合理的,但现在它是 .NET 4。奇怪的是,System.Net.Http.Extensions.dll 部署正确。

两个文件的设置和版本号相同: enter image description here

引用相同的包:

<Reference Include="System.Net.Http, Version=2.2.13.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Net.Http.2.2.13\lib\net40\System.Net.Http.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="System.Net.Http.Extensions, Version=2.2.13.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.Net.Http.2.2.13\lib\net40\System.Net.Http.Extensions.dll</HintPath>
</Reference>

目标平台是 .NET 4,部署先决条件也是 .NET 4 和 KB 更新。 enter image description here

文件甚至没有显示在“应用程序文件”对话框中: enter image description here

有什么想法吗?如果一切都失败了,我可能只是尝试将程序集部署为内容文件。删除并重新添加引用并没有产生任何影响。

最佳答案

Microsoft 在 Visual Studio support thread 上发布消息说:

这将在 Visual Studio 2013 的下一次更新中得到修复。在此之前,您将必须使用将程序集添加为链接的解决方法。

所以,我找到了下一个resolution (issue 8) :

出现这种情况是因为 ClickOnce 无法部署某些必需的程序集。作为解决方法,请执行以下操作:

  1. 右键单击项目并选择“添加现有项目”
  2. 浏览到 HttpClient net40 包文件夹
  3. 在文件名文本框中输入
  4. 按住 CTRL 键,选择 System.Net.Http.dll 和 System.Net.Http.Primitives.dll
  5. 点击“添加”按钮旁边的向下箭头,然后选择“添加为链接”
  6. 在解决方案资源管理器中,按住 CTRL 键选择 System.Net.Http.dll 和 System.Net.Http.WebRequest.dll
  7. 右键单击所选内容,选择“属性”并将“复制到输出目录”更改为“始终复制”
  8. 重新发布

就我而言,仅添加一个库 System.Net.Http 就足够了。

关于.net - 使用 ClickOnce 部署 System.Net.Http.dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18827611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com