0
我試圖使用DOTNET包在Visual Studio中我的項目發佈到NuGet包2015年我project.json如下:DOTNET包不包括建立文物
{
"version": "1.0.6.6-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.1",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.1",
"NETStandard.Library": "1.6.0",
"Microsoft.EntityFrameworkCore.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.Extensions.Configuration": "1.0.0"
},
"frameworks": {
"net451": {},
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-*"
}
},
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
"BundlerMinifier.Core": "2.0.238",
"Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
},
"scripts": {
"postcompile": [
"dotnet pack --no-build --configuration %compile:Configuration% --output %Builds%"
]
}
}
dotnet pack...
包了我的項目作爲postbuild事件放入nuget包中,並將其放入由環境目錄Builds
定義的目錄中(顯然,我想--no-build在那裏,否則我會進入一個無限循環)。
問題是,當我解壓包時,它不包含dll。
我試過刪除obj文件夾(我相信nuget暫時存儲工件),刪除輸出等,我無法得到包含dll的包。
我曾經工作過,沒有任何改變,所以我不明白爲什麼現在不工作。
創建包在你的依賴看,如果你正在建設一個庫或應用程序目前尚不清楚。讓兩個代碼輸出一個包含「netcoreapp1.0」文件夾和.dll文件的包,以及包含「lib」文件夾內的.exe文件的「net451」文件夾。 你能澄清你正在建立什麼樣的文件夾和文件夾嗎? – Ignas
我試圖建立一個圖書館。據我所知,你需要添加一些東西來僞造一個應用程序,以便使dotnet核心數據庫腳手架正常工作。 它看起來像你說得對,雖然我的輸出目錄中有一個bin文件夾,它具有你所描述的內容,但是該包本身只包含一個'_rels'文件夾,裏面有一個'.rels'文件,一個'[Content_Types] .xml'和一個nuspec文件,它缺少dll。但是我可以在輸出目錄中看到dll。 –
我不知道爲什麼dotnet包不適合你,但作爲解決方法(臨時?)我可以建議將nuget.exe包括到解決方案和nuspec文件中,並手動調用nuget.exe包。您可以指定必須包含在nuspec文件中的什麼位置。 – Ignas