2017-05-03 70 views
2

我有一個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 ...排序:

enter image description here

好吧,很顯然的東西是很困惑在這裏。 System.Net.Http被同時引用並且未被引用。而且當我發佈時,即使我已經明確包含它,System.Net.Http.dll仍然未公佈。

+0

您是否在發佈中包含它? –

+0

@ShahroozAnsari你是什麼意思?在發佈過程中,有哪些選項可以包含(或排除)任何特定文件? –

+0

檢查它是否包含在項目屬性>發佈>應用程序文件 – Evk

回答

1

在項目的項目屬性是發佈並且在那裏有一個按鈕(應用程序文件),你的文件選擇來包含或排除 去那裏,包括dll文件需要項目 ,如果它不能正常工作 添加DLL一樣存在文件,並使其始終複製它將工作

相關問題