2017-04-12 30 views
0

的Visual Studio 2015年企業如何調試project.json/nuget構建問題?

Nuget.exe 3.4.4.1321

項目:Windows窗體類庫

OK我曾在我的解決方案project.json文件設置,這建立罰款。我沒有想法如何msbuild找到包project.json要求,但沒關係。

我檢查的文件到2012 TFS(雅,我知道,我們公司將尚未升級)

TFS構建失敗。說「找不到類型......」

如果你有沒有想到MSBuild甚至包裝盒的圖像時,你怎麼調試這些問題?

我可以猜測MS Build可能在看什麼,但我該如何確認?

的csproj hintpaths有其弊端,但至少你知道在哪裏的MSBuild會找你的包

與Project.Json我不知道在哪裏的MSBuild期待!

包的IS在構建服務器上,正如我所期望的那樣。如何告訴msbuild.exe在哪裏尋找軟件包?

+0

您能否在這裏發佈整個錯誤信息? 「Windows窗體類庫」是指Windows窗體應用程序項目嗎? –

+0

它是一個使用窗體控件的類庫yes。無法找到類型或名稱空間名稱「company」(缺少using指令或一個程序集引用?)。它看起來像它不能找到程序集中的程序包。當你不知道project.json在哪裏尋找這個東西時,你怎麼會調試呢? – user5855178

+0

我已經更新了我的回覆。你使用的是你自定義的nuget包而不是那些來自nuget org的包嗎?這個包是否可以在你的本地恢復?如果你使用的是自定義nuget包,你是否已經在NuFS服務器上添加了NuFS配置文件? –

回答

0

project.lock.json將報告的NuGet包解析路徑。

這將出現在project.lock.json文件的最底部: 樣本:

"packageFolders": { 
    "c:\\nuget_packages": {} 

添加在nuget.config此項通知的NuGet哪裏恢復包:

<config> 
    <add key="globalPackagesFolder" value="c:\nuget_packages" /> 
    </config> 

這隻適用於nuget 3+與project.json文件,不適用於包。config

0

根據您的錯誤信息,似乎與參考使用錯誤。要解決您的問題,請嘗試以下操作。

  • 請使用Package.config爲您的項目在TFS構建中安裝包。檢查它是否有效,以確保你的程序集和包是好的。
  • 如果Package.config不起作用。請爲我提供詳細的步驟來重現您的問題。
  • 如果package.config工作但project.json不起作用。看看這個文件:Converting a csproj from package.config to project.json

要調試編譯:https://msdn.microsoft.com/en-us/library/jj635150.aspx?f=255&MSPPError=-2147217396

注:總是使用最新版本的包,你可以添加以下Nuget.config文件。所以當你使用packages.config時它會得到最新版本。該Nuget.config文件是:C:\Users\UserName\AppData\Roaming\NuGetnuget spec dependencies, get latest version?

<configuration> 
    <config> 
     <add key="dependencyversion" value="Highest" /> 
    </config> 
</configuration> 
+0

我無法使用package.config,因爲它沒有提供我正在尋找的功能。讓我們的項目始終使用最新版本的軟件包。 Package.config限制您僅使用顯式版本。沒有傳遞恢復可用於package.config嗎? – user5855178

+0

該文檔鏈接很清楚地表明project.json替代了win.Forms開發的package.config。我沒有使用.net core no,這是一個.net winforms項目。我在這裏錯過了什麼? – user5855178

+0

@ user5855178您是否檢查更新並解決了您的問題? –