2017-06-29 25 views
1

私は、nugetパッケージのターゲットでunity.configファイルの内容を変換しようとしています。そのファイルは次のようになります。nugetパッケージのunity.configファイルをどのように変換できますか?

<?xml version="1.0"?> 
<unity xmlns="http://schemas.microsoft.com/practices/2010/unity"> 
    <container> 
    <register type="SomeProject.Data.ISecurityManager, SomeProject.Data" 
    mapTo="SomeProject.MockSecurityManager, SomeProject.Data" /> 
    </container> 
</unity> 

"mapTo"の値を更新します。 web.configの標準のweb.config.install.xdtを使ってたくさんのものを更新していますが、ここでの重要な問題は、名前空間が1つの名前空間と変換名前空間の間で競合しているようです。だから私は、変換のための次のヘッダーとXDTを作成するときに:私は

<unity xmlns="http://schemas.microsoft.com/practices/2010/unity"> 

:それはそうのような実際のルート名前空間をファイルに探しているので、そのファイルの試合で

<unity xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 

ナッシングPowershellスクリプトに向かって傾け始めています...誰でもこのアプローチを動作させることができますか?

答えて

2

unityノードに2つの名前空間を追加してください。それは次のようになります:

<?xml version="1.0"?> 
<unity xmlns="http://schemas.microsoft.com/practices/2010/unity" xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <container> 
    <register xdt:Transform="Replace" 
       xdt:Locator="Match(type)" 
       type="SomeProject.Data.ISecurityManager, SomeProject.Data" 
       mapTo="It's my test type)"> 
    </register> 
    </container> 
</unity> 

それは私のためにうまくいきます。それはあなたのために動作しない場合は、私に知らせてください。

関連する問題