2012-05-22 8 views
6

hereのように、ビジュアルスタジオのビルドプロセスで作成/プッシュするナゲットパッケージを作成しようとしています。MSBuildのAssemblyInfoからのアクセスバージョン

構築パッケージは簡単です:

<Exec WorkingDirectory="$(ProjectDir)" Command="$(NuGetApp) pack $(ProjectFile) -OutputDirectory $(Deploy) -Verbose -Prop Configuration=Release"/> 

私は$(展開)フォルダに.nupkgファイルを参照してください。

しかし、それを押すことができるように、私はそれを使用する$(のAssemblyVersionを)必要があります。

<Exec Command="$(NuGetApp) push $(ProjectName)$(AssemblyVersion) -s $(NugetServer) $(NugetKey)" /> 

私は値を取得するためにXMLReadを試してみましたが、NugetSpecFileの値が「$バージョン$」である代わりに、 AssemblyInfo.csからのバージョン。

<XmlRead XPath="/package/metadata/version" XmlFileName="$(NuSpecFile)"> 
     <Output TaskParameter="Value" PropertyName="AssemblyVersion" /> 
    </XmlRead> 

「ナゲットプッシュ」でバージョンを使用するにはどうすればよいですか?

答えて

11

これを私はそれをやる:

<PropertyGroup> 
    <MyAssemblies>somedll\the.dll</MyAssemblies> 
    </PropertyGroup> 

<Target Name="RetrieveIdentities"> 
    <GetAssemblyIdentity 
     AssemblyFiles="$(MyAssemblies)"> 
     <Output 
      TaskParameter="Assemblies" 
      ItemName="MyAssemblyIdentities"/> 
    </GetAssemblyIdentity> 

    <Message Text="Files: %(MyAssemblyIdentities.Version)"/> 
    </Target> 

はここから変更された: MSBuild Task to read version of dll

関連する問題