3

私のParameters.xmlファイルには、Web Deploy の "変数" 構文を使用して他のパラメーターを参照するパラメーターがいくつかあります。たとえば、次のパラメーターを参照しIIS Web Application Nameます。

<parameter name="MyParam"
           defaultValue="{IIS Web Application Name}/Web.config"
           tags="Hidden"/>

私の問題は、非表示としてタグ付けされているにもかかわらず、展開パッケージをビルドすると、VS がこのパラメーターをSetParameters.xmlファイルに自動的にインポートすることです。経由で msdeploy に渡されるとsetParamFile、Web Deploy はパラメーターの値を文字どおり次のように解釈します。

{IIS Web Application Name}/Web.config

IIS アプリケーション名を置き換えるのではなく。

自動生成されたSetParameters.xmlファイルからパラメーターを削除すると、変数は期待どおりに機能します。名前またはタグのいずれかで、VSが最初にそのパラメーターを含めないようにする方法はありますか?

4

2 に答える 2

1

以前の質問への回答を考えると、これは実際には思ったよりもはるかに簡単でした。

次のターゲットにHiddenタグを追加する必要がありましたAddIisAndContentDeclareParametersItems。これにより、パッケージがビルドされる前にソース マニフェストにタグが設定されているようです。最終的には次のようになります。

<Target Name="DeclareCustomParameters" 
        AfterTargets="AddIisAndContentDeclareParametersItems">
  <ItemGroup>
    <MsDeployDeclareParameters Include="Foo">
      <!-- <snip> -->
      <!-- the following elements are the important ones: -->
      <Tags>Hidden</Tags>  
      <ExcludeFromSetParameter>True</ExcludeFromSetParameter>
    </MsDeployDeclareParameters>
  </ItemGroup>
</Target>

それだけでした!

于 2011-10-31T16:59:35.887 に答える