2016-10-04 4 views
0

내가 비주얼 스튜디오 내에서 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을 포함하는 패키지를 가져올 수 없습니다.

이전에는 작동했지만 아무것도 변경하지 않았으므로 지금 작동하지 않는 이유를 알 수 없습니다. 내가 다시 변경할 때

+0

패키지를 만들기 시작 . 두 파일 모두에 대해 .dll 파일이있는 "netcoreapp1.0"폴더와 "lib"폴더 내에 .exe 파일이 들어있는 "net451"폴더가 포함 된 패키지를 출력합니다. 빌드 할 내용과 패키지 안에 들어있는 폴더/파일을 명확히 할 수 있습니까? – Ignas

+0

라이브러리를 만들려고합니다. 지금까지 내가 알고있는 한, dotnet 핵심 데이터베이스 스 캐 폴딩이 작동하도록 애플리케이션을 위조하기 위해 추가해야 할 사항이 있습니다. 당신이 옳은 것처럼 보입니다. 출력 디렉토리에 bin 폴더가 있습니다. 패키지 자체는'.rels' 폴더와'.rels' 파일을 포함하고 있습니다. '[Content_Types] .xml'과 nuspec 파일에 dll이 없습니다. 그러나 출력 디렉토리에서 dll을 볼 수 있습니다. –

+0

dotnet pack이 왜 효과적이지 않겠습니까? 해결 방법 (일시적입니까?) nuget.exe를 솔루션과 nuspec 파일에 포함시키고 수동으로 nuget.exe 팩을 호출하는 것이 좋습니다. nuspec 파일의 어디에 포함되어야하는지 지정할 수 있습니다. – Ignas

답변

0

그것은 내가 xproj 파일의 출력 디렉토리를 변경하기 때문에이 있다고 밝혀, 당신이 라이브러리 나 응용 프로그램을 구축하는 경우가 명확하지 의존성을 보면 제대로