3

コマンド ラインから呼び出される次の MSBuild スクリプトを使用して、Visual Studio 2012 内でうまく機能するパブリッシュ オプションを実行しようとしています。

<Target Name="BuildRelease">
<MSBuild 
     Properties="Configuration=Release;DeployOnBuild=True;
         DeployTarget=Publish;CreatePackageOnPublish=True" 
     StopOnFirstFailure="true" 
     Projects="$(BuildDirectory)\BigWave.ALL.sln"></MSBuild>
</Target>

私の Project.pubxml は...

<Project ToolsVersion="4.0" 
         xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <SiteUrlToLaunchAfterPublish />
    <publishUrl>c:\temp\Deploy</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
  </PropertyGroup>
</Project>

Project.pubxml.user は...

<Project ToolsVersion="4.0" 
         xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <TimeStampOfAssociatedLegacyPublishXmlFile />
  </PropertyGroup>
...snipped ItemGroup which has all my files and last timestamp of publish
</Project>

これらのファイルに問題があり、公開オプションが機能しませんか? スクリプトはエラーなしで実行されますが、 を調べるとC:\temp\Deploy directoryファイルがありません。

4

2 に答える 2

2

このhttp://sedodream.com/2012/08/19/VisualStudioProjectCompatabilityAndVisualStudioVersion.aspxによると、同じソリューションに VS2010 と VS2012 の両方を使用している場合、使用している VS のバージョンを指定する必要があります。バージョンを追加しただけで動作するようになりました。

これがお役に立てば幸いです。

よろしくお願いします

于 2012-11-28T09:48:46.147 に答える
1

パブリッシュを実行することはできませんでしたが、Visual Studio からの出力を見て、別の解決策を見つけたと思います。obj\Release\AspnetCompileMerge フォルダーには、デプロイ可能なクリーン バージョンのプロジェクトがあることがわかります。最終的な出力フォルダーと同じバイトのファイルが含まれています。

msbuild スクリプトを変更して DeployOnBuild オプションを含める必要がありました...

<MSBuild Properties="Configuration=Release;DeployOnBuild=True;" 
         StopOnFirstFailure="true" 
         Projects="$(BuildDirectory)\BigWave.ALL.sln"></MSBuild>
于 2012-08-31T21:50:39.720 に答える