我有一個NuGet參考System.Net.Http
(顯然,很多其他參考)的應用程序。爲什麼System.Net.Http沒有打包?
當我使用「發佈」構建此應用程序包並選擇「從CD」選項時,它會將安裝編譯到本地文件夾中,並將所有二進制文件打包到.deploy
文件中。全部,就是除了System.Net.Http.dll
。
我已經嘗試了許多不同的解決方法,更改項目中System.Net.Http
引用的屬性,然後刪除NuGet引用並將其作爲.NET Framework的程序集引用添加。無所事事。這個特定的DLL似乎是獨一無二的,與其他二進制文件一起被打包。
如果它有什麼不同,我正在使用.NET Framework 4.6.2。
爲什麼會發生這種情況?如何解決它?
UPDATE: 基於下面我調查項目屬性>發表評論>應用程序文件。 System.Net.Http.dll
沒有列在選項中。因此,我通過將System.Net.Http.Extensions.dll
的「發佈狀態」更改爲「Include」(而不是「Include(Auto)」),將其添加到我的項目文件中,然後編輯刪除「.Extensions」,從而入侵它:
<ItemGroup>
<PublishFile Include="System.Net.Http">
<Visible>False</Visible>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
</ItemGroup>
現在我的項目應用程序文件列表包含System.Net.Http
...排序:
好吧,很顯然的東西是很困惑在這裏。 System.Net.Http
被同時引用並且未被引用。而且當我發佈時,即使我已經明確包含它,System.Net.Http.dll
是仍然未公佈。
您是否在發佈中包含它? –
@ShahroozAnsari你是什麼意思?在發佈過程中,有哪些選項可以包含(或排除)任何特定文件? –
檢查它是否包含在項目屬性>發佈>應用程序文件 – Evk