-1

私のシナリオの単純化されたバージョンでは、ClickOnce を使用してデプロイされた VB.Net アプリを開発しています。本番コード用の Live ブランチと、作業用の Dev ブランチがあります。

これらの各ブランチを別の場所 (リリース用にライブ、テスト用に開発) にデプロイしたいのですが、いずれかのブランチを他のブランチにマージすると、プロジェクトの「発行場所」設定がターゲット ブランチで上書きされます。開発コードをライブの場所に公開します。

特定のプロジェクト プロパティ (この場合は公開場所) をマージから「免疫」にして、各ブランチがその設定を維持する方法はありますか?

編集:私の最初のアイデアは、特定のプロジェクト設定をオーバーライドできる「構成」タイプのファイルがある場合、そのファイルをクロークしてマージされないようにすることでした...しかし、そのようなファイルへの参照が見つかりません.

ソース管理には TFS を使用します。

4

1 に答える 1

0

MSBuild Conditionsの使用方法を学習することで解決しました。

.vbproj ファイルを編集し、問題のプロパティを条件付き PropertyGroup に入れることで、ブランチを自由に前後にマージできます。.vbproj ファイルのディレクトリ (ブランチ) に応じて、1 つの値または他の。

(プロジェクト ファイルの xml を編集するには、ソリューション エクスプローラーでプロジェクトを右クリックし、[プロジェクトのアンロード] を選択してから、右クリックし、[App.vbproj の編集] を選択します。)

...
<PropertyGroup Condition ="$(MSBuildThisFileFullPath.Contains(\AppDev\App\App.vbproj))">
    <AssemblyName>AppDev</AssemblyName>
    <PublishUrl>http://server/client/AppDev/</PublishUrl>
  </PropertyGroup>
  <PropertyGroup Condition ="$(MSBuildThisFileFullPath.Contains(\AppLive\App\App.vbproj))">
    <AssemblyName>App</AssemblyName>
    <PublishUrl>http://server/client/App/</PublishUrl>
  </PropertyGroup>
...
于 2014-08-20T18:55:23.367 に答える