2017-10-25 8 views
0

リソース(画像、スクリプトなど)のみを含むナゲットパッケージを作成したいと思います。dotnetcore packとnuget pushはnupkgを生成しないようです

私は新しい空のasp.coreプロジェクトを作成しました。

プロジェクトは、このプロジェクトには、この

 
MyProject 
--.Nuget 
-----MyProject.Nuspec 
--Content 
----Img 
------myimage.gif 
--Script 
----myscript.js 
--.gitlab-ci.yml 
--MyProject.csproj 
--MyProject.sln 

のように見える、私は.nuspecファイルで.nugetフォルダを追加します。ここ

はコンテンツ

<?xml version="1.0"?> 
<package> 
    <metadata> 
    <id>myProject</id> 
    <version>$version$</version> 
    <authors>MyName</authors> 
    <owners>MyName</owners> 
    <requireLicenseAcceptance>false</requireLicenseAcceptance> 
    <description>myProject</description> 
    <releaseNotes>First implementation with nuget</releaseNotes> 
    <copyright>Copyright © ME</copyright> 
    <dependencies> 
     <dependency id="jQuery" version="[3.2.1]" /> 
     <dependency id="bootbox" version="[4.3.0]" /> 
    </dependencies> 
    </metadata> 
    <files> 
    <file src="..\Content\img\myimage.gif" target="content\Content\img" /> 
    <file src="..\Script\*.js" target="content\Scripts" /> 
    </files> 
</package> 

されており、ここにありますymlの内容

 
image : microsoft/dotnet:latest 

before_script: 
    - 'dotnet restore myProject.sln' 

stages: 
    - build 
    - test 
    - deploy 

job1: 
stage: build 
script: 
    - 'dotnet msbuild MyProject.sln /t:Clean,ReBuild /p:Configuration=Debug;Platform="Any CPU"' 
    - 'dotnet msbuild MyProject.sln /t:ReBuild /p:Configuration=Release;Platform="Any CPU"' 
    - 'dotnet pack "MyProject.csproj" /p:NuspecFile=".Nuget/*.nuspec" -v n --include-source --include-symbols --no-build' 
    - 'dotnet nuget push *.nupkg -k myApi -s https://www.myget.org/F/myfeed/api/v2/package' 
only: 
    - master 

ビルド正常に動作するようだが、それはnugetプッシュで

error: File does not exist (*.nupkg).

をクラッシュするたびに、私は何かが欠けているんだけど、私はproblem.Howは私が私のnupkgを得ることができます見つけることができませんか?

すべてのヘルプは大歓迎

+0

'dotnet pack'はコマンドラインから実行するとnupkgを生成しますか? – patutin

+0

いいえ、何も生成しません。なぜ私はこれの一部が欠けていると思っているのですか? – dpfauwadel

答えて

1
  1. 小さなトリックです:あなたは出力-vスイッチを使用して「DOTNETパック」の詳細度を変更することができます。
  2. パッケージにjと画像だけを追加する必要がある場合は、 '--include-source --include-symbols'キーを使用する必要はありません。
  3. NuspecFileは '*'を受け入れません。

だからこれは私がnugetを作成することができます文字列です:

dotnet pack "MyProject.csproj" /p:NuspecFile=".Nuget/MyProject.Nuspec" -v d --no-build -c Release 

、あなたにそれを使用するためのYMLファイルを変更してみてください。

+0

あなたのラインで私のymlを変更します。私は地元でそれをテストし、それは適切に働いています。これにより、bin/DebugフォルダにMyProject.nupkgが作成されます。だから私はプッシュラインのためにこれを設定しようとし、 'dotnet nuget push bin/Relase/*。nupkg -k apiKey -s https://www.myfeed.org/F/myfeed/api/v2/package エラー: '/ builds/myProfil/MyProject/bin/Relase'のパスの一部を見つけることができませんでした。 ' – dpfauwadel

+0

' -c Release 'を使用してリリースするには、設定を行う必要があります。私は 'dotnet pack'のコマンド例を変更しました。それを試してみてください。 – patutin

+0

私の問題は、私がgitlabを使っていることです。私はこのすべてを自分のコンピュータでやると、すべてうまく動作し、nupkgを作成します。 gitlabでは全て成功していますが、 'dotnet pack'の後にはディレクトリに.nupkgファイルがありません。だから私はそれがgitlabでもっと問題だと思う。 – dpfauwadel

関連する問題