1
私はWindows/Mono用のクロスプラットフォームビルドプロジェクトを定義しようとしています。ビルドプロセスの一部は、リリースモードでコンパイルするときに、nugetパッケージを作成します。
が<Target Name="AfterBuild" Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PropertyGroup>
<LocalPackagesDir Condition=" '$(LocalPackagesDir)' == '' ">$(TEMP)</LocalPackagesDir>
<OutputPackageDir>nuget\</OutputPackageDir>
<NuspecFile>nuget\$(ProjectName).nuspec</NuspecFile>
</PropertyGroup>
<Message Importance="High" Text="Building nuget package: $(NuspecFile) ..." />
<Exec Command="nuget pack $(NuspecFile) -OutputDirectory $(OutputPackageDir)" />
<ItemGroup>
<BuiltPackage Include="nuget\**\$(ProjectName)*.nupkg" />
</ItemGroup>
<Message Importance="High" Text="Copying nuget package: @(BuiltPackage) in local packages repository: $(LocalPackagesDir) ..." />
<Copy SourceFiles="@(BuiltPackage)" DestinationFolder="$(LocalPackagesDir)" />
</Target>
これは、MSBuildの/ Windowsに完璧に動作しますが、$(ProjectName) is empty
ので、モノの下を失敗:
はここに私の "AfterBuild" の目標です。 MSBuild/XBuild間でビルドスクリプト変数を扱う方法に根本的な違いがありますか?
Mmmh。これが見つかりました:https://bugzilla.xamarin.com/show_bug.cgi?id=21521 –