2016-12-16 71 views
0

有沒有辦法將assemblyBinding元素的app.config移動到外部文件中並使用Add-BindingRedirect在Visual Studio中的包管理器控制檯中進行更新?Nuget - 如何使用configSource和Add-BindingRedirect

這是我的外部文件:

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" /> 
    </dependentAssembly> 
</assemblyBinding> 

這是我的app.config片段中引用文件:

<runtime> 
    <assemblyBinding configSource="runtime.config" /> 
</runtime> 

這是app.config文件中的程序包管理器控制檯運行Add-BindingRedirect後:

<runtime> 
    <assemblyBinding configSource="runtime.config" /> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
     <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" /> 
    </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

回答

1

我們無法將元素添加到extern包管理器控制檯中的Add-BindingRedirect文件。由於用於的Add-BindingRedirect檢查項目輸出路徑中的所有組件,並在必要時將綁定重定向添加到app.configweb.config

請參閱定義附加BindingRedirect: http://docs.nuget.org/ndocs/tools/powershell-reference

而且configSource屬性與一個外部配置文件用於添加某些配置項目。換句話說,它們有兩種不同的方式可以幫助我們實現綁定重定向。所以我們不能混合使用它們。

+0

謝謝你的澄清,雖然我沒有出售混合Add-BindingRedirect和configSource是不可能的參數。如果nuget只是遵循引用和更改的目標文件呢? – Wojtek

+0

如果項目中添加了不同版本的nuget引用,當您運行Add-BindingRedirect命令時,它會自動將重定向信息添加到您的app.config/web.config中。 –

相關問題