我正在开发一个将与 ClickOnce 一起部署的应用程序。从 .NET 4.5 降级到 .NET 4.0 并替换修复错误引用后,现在我遇到了部署包问题。一些文件,最重要System.Net.Http.dll
的是没有与应用程序一起部署。我已经做了一些检查,但无法得出究竟为什么会发生这种情况。我怀疑这个包是在目标机器上已经存在这个程序集的情况下创建的。如果目标框架是 .NET 4.5,这将是合理的,但现在不是 .NET 4。奇怪的是,System.Net.Http.Extensions.dll
正确部署。
两个文件的设置和版本号相同:
引用了相同的包:
<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 更新。
文件甚至没有显示在应用程序文件对话框中:
有任何想法吗?如果一切都失败了,我可能会尝试将程序集部署为内容文件。删除和重新添加引用并没有什么不同。