我正在开发一个应用程序,它将使用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更新。
在应用程序文件对话框中甚至没有显示文件:
有什么想法吗?如果一切都失败了,我可能会尝试将程序集部署为内容文件。 删除并重新添加引用没有任何区别。