我正在开发一个与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>
Run Code Online (Sandbox Code Playgroud)
目标平台是.NET 4,部署先决条件也是.NET 4和KB更新.

文件甚至不显示在"应用程序文件"对话框中

有任何想法吗?如果所有其他方法都失败,我可能会尝试将程序集部署为内容文件.删除和重新添加引用并没有什么区别.