私はVS2010で作成され、VS2012でアクセスされるc#.Net 4.0プロジェクトを持っています。先場所へmsbuildを使用してファイルシステムを公開する
私はこのウェブサイトからのみ必要なファイルを公開しようとしている(C:\は\ MyProjectの[ファイル]を構築します)
マイファイル構造: ./ProjectRoot/MyProject .csproj ./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml
私が実行しているのMSBuildを経由して、以下の:
C:¥Windows¥Microsoft.NET¥Framework¥v4.0.30319¥MSBuild.exe ./ProjectRoot/MyProject.csproj/p:DeployOnBuild = true /p:PublishProfile=./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml
はここFileSystemDebug.pubxmlのXMLです
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>C:\builds\MyProject\</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles>
</PropertyGroup>
</Project>
結果の動作は以下のとおりです。
- zipファイルには、ここで作成されます。./ProjectRoot/obj/Debug/Package/MyProject.zip
- 何もWTF
- 作成されたzipファイルは、豚の朝食やアプリケーションのために必要されていないファイルがいっぱいです
<publishUrl>C:\builds\MyProject\</publishUrl>
に配備されていません。
私はこれを実行するフォルダは* Cで作成されたVisual Studioの通過プロフィールを公開:\は\ MyProjectとは *構築し、私が欲しいの正確な成果物が含まれています。
この単純な結果はどのようにmsbuildから取得できますか?ここに答えが見つかり
'Condition =" false "'での条件付きインポートは下位互換性のために存在します。 VS2010では、偽の状態のためにスキップされたとしても、このインポートが存在する必要があります。もう一度見れば、csprojには現在のバージョンのVisual Studioのターゲットファイルに解決される '$(VSToolsPath)\ WebApplications \ Microsoft.WebApplication.targets'の別のインポートが含まれていることがわかります。 –
'$(MSBuildToolsVersion)\ WebApplications \ Microsoft.WebApplication \ \ の適切なVSバージョンを説明するパスに戦略的に使用してください。ターゲット "条件="偽 "/>'。これは私のVS2015アップデート1で働いた。 –