簡體   English   中英

NuGet包無法為lib目錄中的DLL添加對項目的引用

[英]NuGet Package fails to add reference to project for DLL inside lib directory

我正在嘗試打包引用C ++ DLL的.NET DLL。 nuspec文件如下所示:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>MyPackage</id>
    <version>1.0.0</version>
    <authors>some author</authors>
    <owners>some owner</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>.NET Wrapper for rebuilt 64-bit version of MyPackage</description>
    <copyright>Copyright 2014</copyright>
  </metadata>
  <files>
    <file src="x64\MyPackage64.dll" target="content" />
    <file src="MyPackageNET.dll" target="lib" />
  </files>
</package>

當我檢查生成的nupkg文件時,內部文件結構顯示正確。 C ++ DLL在content ,.NET DLL在lib

當我將nupkg安裝到項目中時,內容DLL將添加到項目根目錄中,並且lib DLL將添加到解決方案packages目錄中。

但是, 沒有向項目添加引用 我被迫手動添加引用。 我嘗試將以下節點添加到元數據,但無濟於事:

<references>
  <reference file="MyPackageNET.dll" />
</references>

難道我做錯了什么? 我已經從varoius .csproj文件生成了其他nuspec和nupkg文件,這些文件正確地添加了對已經安裝它們的項目的引用。 有什么關於我錯過的個別DLL的包裝是否保留了參考項目的添加?

在一個相關的說明,如果我不能自動添加引用,任何人都可以指導我任何資源,這將解釋$ project.Object.Reference.Add方法的語法,或者它將幫助我以編程方式添加對DLL的引用我的項目?

我遇到了同樣的問題,其他症狀是無法卸載軟件包。 我遵循了無法卸載/重新安裝NuGet包的指導, 並將packages.config文件添加到項目中 我不得不從我的解決方案文件夾中復制該文件,因為我的項目還沒有該文件。 這樣做可以糾正這兩種症狀

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM