1

NuGet プレリリース パッケージを作成しようとしています。ここに私のNuSpecファイルがあります:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>xxx.Web.Mvc</id>
    <version>1.0.3-prelrelease1</version>
    <authors>xxx</authors>
    <owners>xxx</owners>
    <projectUrl>https://xxx</projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>xxxx.</description>
    <releaseNotes>NuGet package.</releaseNotes>
    <copyright>Copyright 2013 xxx</copyright>
    <tags>asmx xxx</tags>
    <dependencies>
  <dependency id="Microsoft.AspNet.Mvc" version="4.0.30506.0" />
  <dependency id="Microsoft.AspNet.Razor" version="2.0.30506.0" />
  <dependency id="Microsoft.AspNet.WebPages" version="2.0.30506.0"  />
  <dependency id="Microsoft.Web.Infrastructure" version="1.0.0.0" />
  <dependency id="xxx" version="1.0.6"  />

    </dependencies>
 </metadata>
</package>

注:プレリリース バージョンにはSemVerメカニズムを使用しています。

ただし、次を使用してパッケージをビルドすると:

PM> nuget pack Package.nuspec

私は得る:

nuget : Input string was not in a correct format.
At line:1 char:1
+ nuget pack Package.nuspec
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Input string wa...correct format.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

これは、バージョン文字列にアルファベット文字が含まれていることを直接示しています。

NuGet 2.2/VS2012 を使用しています。

バージョン文字列が認識されないのはなぜですか?

アップデート

ファイルを次のように縮小しました。

<?xml version="1.0"?> <package >   <metadata>
    <id>xxx</id>
    <version>1.0.3-test1</version>
    <authors>xxx</authors>
    <owners>xxx</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>xxx</description>   </metadata> </package>

およびフォルダー内の単一のファイル~\content

  • ~\content\New Journal Document.jnt

(Windows Journal は初めて見ました。簡単なファイルを作成してみようと思いました。:/ )

4

2 に答える 2

1

修正しました。

NuGet 2.x を再インストールしても、まだ v1.5 がぶら下がっているようです。

Powershell 環境がこのバージョンを使用していたようで、Package Manager Console Host Version 2.7.40911.225メッセージは PowerShell のバージョンではなく、ホストのみを参照していました。今では明らかなようです。

私はファイルを操作して上書きしました。

すべてが機能しています。

于 2013-10-18T15:55:01.377 に答える
0

したがって、この両方:

NuGet.exe" pack ".\MyPackage.nuspec" -Version 1.0.1-alpha

<?xml version="1.0" encoding="utf-8"?>
<package>
  <metadata>
    <id>MyCoolPackage</id>
    <version>1.0.1-alpha</version>
    <authors>MyAuthors</authors>
    <owners>MyOwner</owners>
    <!-- <licenseUrl>http://www.yourLicenseUrl.com</licenseUrl>  -->
    <projectUrl>http://www.yourProjectUrl</projectUrl>
    <iconUrl>http://www.yourIconUrl.com</iconUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>BuildDate : 2013_10_16__17:13:46</description>
    <releaseNotes>My Release Notes.</releaseNotes>
    <copyright>Copyright 2013</copyright>
    <tags>MyTag1 MyTag2</tags>
    <dependencies>
      <!--
            <dependency id="SampleDependency" version="1.0" />
            -->
    </dependencies>
  </metadata>
</package>

私のために働いた。

2.7.40809.172 を使用しています。

だから試してください:

( ナンバー 1 )

あなたを取り出す

<dependencies>

(キックのためだけに)

( 2番 )

~新しいバージョンを試す

NuGet.exe

(ドキュメントに基づいていますが、大丈夫なはずです)

引っ張った

1.0.1-alpha

ドキュメントから直接。

それから始めて、カスタム値まで進んでください。

http://docs.nuget.org/docs/reference/versioning

だから私はあなたの nuspec を取り、デモコードに入れました。

そしてそれはうまくいきました!(説明をxmlで更新しているため、小さな矛盾があります)(以下のxmlを参照)

しかし、素敵な「xxx.Web.Mvc.1.0.3-prelrelease1.nupkg」ファイルが作成されました。

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
  <metadata>
    <id>xxx.Web.Mvc</id>
    <version>1.0.3-prelrelease1</version>
    <authors>xxx</authors>
    <owners>xxx</owners>
    <projectUrl>https://xxx</projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>BuildDate : 2013_10_17__11:29:15</description>
    <releaseNotes>NuGet package.</releaseNotes>
    <copyright>Copyright 2013 xxx</copyright>
    <tags>asmx xxx</tags>
    <dependencies>
      <dependency id="Microsoft.AspNet.Mvc" version="4.0.30506.0" />
      <dependency id="Microsoft.AspNet.Razor" version="2.0.30506.0" />
      <dependency id="Microsoft.AspNet.WebPages" version="2.0.30506.0" />
      <dependency id="Microsoft.Web.Infrastructure" version="1.0.0.0" />
    </dependencies>
  </metadata>
</package>

つまり、仕様ではなく「内容」に関係があるのか​​もしれません。

したがって、次のような「基本的な」パッケージを実行できます。

.\Package.nuspec
.\content\
.\content\SomeImageFile.png
.\lib\
.\lib\net20\SomeDll.dll

プレリリース版の nuspec ファイルでそれが機能するかどうかを確認しますか?

于 2013-10-16T21:20:00.550 に答える