C# 为什么System.Net.Http没有打包?

C# 为什么System.Net.Http没有打包?,c#,C#,我有一个应用程序,其中有一个对System.Net.Http的NuGet引用(显然还有许多其他引用) 当我使用“Publish”构建此应用程序的包并选择“from CD”选项时,它会将安装编译到本地文件夹中,并将所有二进制文件打包到.deploy文件中。所有,也就是说,除了System.Net.Http.dll 我尝试了许多不同的解决方法,在项目中更改System.Net.Http引用的属性,然后删除NuGet引用,并将其添加为.Net Framework中的程序集引用。没事儿。这个特定的DLL

我有一个应用程序,其中有一个对
System.Net.Http
的NuGet引用(显然还有许多其他引用)

当我使用“Publish”构建此应用程序的包并选择“from CD”选项时,它会将安装编译到本地文件夹中,并将所有二进制文件打包到
.deploy
文件中。所有,也就是说,除了
System.Net.Http.dll

我尝试了许多不同的解决方法,在项目中更改
System.Net.Http
引用的属性,然后删除NuGet引用,并将其添加为.Net Framework中的程序集引用。没事儿。这个特定的DLL似乎对与其他二进制文件一起打包具有独特的抵抗力

如果有什么不同的话,我正在使用.NETFramework4.6.2

为什么会发生这种行为?如何修复它

更新: 基于下面的评论,我调查了项目属性>发布>应用程序文件
System.Net.Http.dll
未在选项中列出。因此,我通过将
System.Net.Http.Extensions.dll
的“发布状态”更改为“包含”(而不是“包含(自动)”,从而在我的项目文件中添加了一个部分,然后对其进行编辑以删除“.Extensions”,从而:


假的
包括
真的
装配
现在,我的项目应用程序文件列表包含
System.Net.Http
。。。有点:


很明显,这里有些东西很混乱
System.Net.Http
同时被引用和未被引用。当我发布时,即使我已经明确地包含了它,
System.Net.Http.dll
仍然没有发布。

在项目属性中,您的项目是发布,并且在那里有一个按钮(应用程序文件),您可以选择包含或排除文件 去那里,包括DLL需要的项目 如果它不起作用
添加类似exist文件的dll,并使其始终处于复制状态。它将工作

您是否将其包含在发布中?@ShahroozAnsari您的意思是什么?在发布过程中,哪里有包括(或排除)任何特定文件的选项?请检查项目属性>发布>应用程序文件中是否包含该文件。在项目属性中,是否有一个按钮(应用程序文件)在那里,您可以选择包含或删除文件exclude@ShahroozAnsari这就是疯狂的事情。我打开了那个对话框,
System.Net.Http.dll
甚至没有出现在列表中!怎么回事?!
<ItemGroup>
<PublishFile Include="System.Net.Http">
  <Visible>False</Visible>
  <Group>
  </Group>
  <TargetPath>
  </TargetPath>
  <PublishState>Include</PublishState>
  <IncludeHash>True</IncludeHash>
  <FileType>Assembly</FileType>
</PublishFile>
</ItemGroup>