내가 비주얼 스튜디오 내에서 DOTNET 팩을 사용하여 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
에 의해 정의 된 디렉토리에 넣습니다 (분명히 - 필요하지 않습니다 - 그렇지 않으면 infinte 루프에 들어가게됩니다).
문제는 패키지를 압축 해제 할 때 DLL이 포함되어 있지 않다는 것입니다.
obj 폴더를 삭제하려고 시도했습니다. (누그 제가 일시적으로 이슈를 저장한다고 생각합니다.) 출력을 삭제하고 DLL을 포함하는 패키지를 가져올 수 없습니다.
이전에는 작동했지만 아무것도 변경하지 않았으므로 지금 작동하지 않는 이유를 알 수 없습니다. 내가 다시 변경할 때
패키지를 만들기 시작 . 두 파일 모두에 대해 .dll 파일이있는 "netcoreapp1.0"폴더와 "lib"폴더 내에 .exe 파일이 들어있는 "net451"폴더가 포함 된 패키지를 출력합니다. 빌드 할 내용과 패키지 안에 들어있는 폴더/파일을 명확히 할 수 있습니까? – Ignas
라이브러리를 만들려고합니다. 지금까지 내가 알고있는 한, dotnet 핵심 데이터베이스 스 캐 폴딩이 작동하도록 애플리케이션을 위조하기 위해 추가해야 할 사항이 있습니다. 당신이 옳은 것처럼 보입니다. 출력 디렉토리에 bin 폴더가 있습니다. 패키지 자체는'.rels' 폴더와'.rels' 파일을 포함하고 있습니다. '[Content_Types] .xml'과 nuspec 파일에 dll이 없습니다. 그러나 출력 디렉토리에서 dll을 볼 수 있습니다. –
dotnet pack이 왜 효과적이지 않겠습니까? 해결 방법 (일시적입니까?) nuget.exe를 솔루션과 nuspec 파일에 포함시키고 수동으로 nuget.exe 팩을 호출하는 것이 좋습니다. nuspec 파일의 어디에 포함되어야하는지 지정할 수 있습니다. – Ignas