2016-09-08 11 views
0

インストール先のアプリケーションのweb.configファイルまたはapp.configファイルを変更する必要があるa projectのカスタムパッケージを作成しています。私は、instructions provided by nuget,、特にfile and source code transformationの後ろに宗教的にパッケージを作成して公開しました。私はプロジェクト内のパッケージをインストールしようとすると、System.IO.InvalidDataException: 'web.config'への変換を適用中にエラーが発生しました

はしかし、私はエラーを取得する:

System.IO.InvalidDataException: An error occurred while applying transformation to 'web.config' in project 'WebTestsNuget' No element in the source document matches '/configuration/system.runtime.caching/memoryCache'

私はいくつかの検索とthis ASP.NET blog postthis other postをした私は私のconfigurationノードにxmlns属性を削除する必要があります示唆.xdtファイル。私が行ったとき、公開して、もう一度インストールしようとしたとき、私はエラーを受け取りました。

System.IO.InvalidDataException: An error occurred while applying transformation to 'web.config' in project 'WebTestsNuget' 'xdt' is an undeclared prefix.

環境はMonoDevelopのであり、それはそれはとても有用ではなかったので、私は私の仕事のためのVisual Studio 2015と.NET 4.6.1を使用しています2013年に帰りますが、私はsimilar issue reported on Githubを見つけました。

他にこの問題を解決するにはどうすればよいですか? (NB:私はNuget 3.4.4.1321使用しています)くらい無益検索や裁判の後

答えて

0

を、私は最終的にこれを行うの古い(前NuGet 2.6)の方法で実験:.transformファイルを使用して、それが魅力のように働きました!

ここではhow to transform Web.Config using .transform files. XDTを使用する方がはるかに簡単です。 web.config(またはapp.config)ファイルを変換する場合は、web.config.transform(またはapp.config.transform)というファイルを作成し、マージするノードを宛先の.configファイルに追加します。例えば

、あなたの.transformファイルには、以下が含まれている場合:

<configuration> 
    <system.webServer> 
     <modules> 
      <add name="MyNuModule" type="Sample.MyNuModule" /> 
     </modules> 
    <system.webServer> 
</configuration> 

と宛先の設定ファイル次のものが含まれます。

<configuration> 
    . 
    . 
    <system.webServer> 
     <modules> 
      <add name="Module" type="Sample.Module" /> 
     </modules> 
    <system.webServer> 
    . 
    . 
</configuration> 

マージ後の結果が

<configuration> 
    . 
    . 
    <system.webServer> 
     <modules> 
      <add name="MyNuModule" type="Sample.MyNuModule" /> 
      <add name="Module" type="Sample.Module" /> 
     </modules> 
    <system.webServer> 
    . 
    . 
</configuration> 
になります

宛先ファイルにがない場合ノードが<system.webServer>であっても、それに応じて追加されます。

関連する問題