我試圖在運行時向我的Web.config文件添加一個新的dependentAssembly。到目前爲止,我當前的代碼有以編程方式將dependentAssembly添加到運行時 assemblyBinding
XmlNamespaceManager manager = new XmlNamespaceManager (WebConfigDoc.NameTable);
manager.AddNamespace("bindings", "urn:schemas-microsoft-com:asm.v1");
XmlNode root = WebConfigDoc.DocumentElement;
XmlNode assemblyBinding = root.SelectSingleNode("//bindings:assemblyBinding", manager);
XmlNode newAssemblyBinding = WebConfigDoc.ImportNode(GetElement(MyNewNode()), true);
assemblyBinding.AppendChild(newAssemblyBinding);
}
private string MyNewNode()
{
string Node = "<dependentAssembly>" +
"<assemblyIdentity name=\"newone\" "+
" publicKeyToken=\"608967\" />" +
"<bindingRedirect oldVersion=\"1\" newwVersion=\"2\" />" +
"</dependentAssembly>";
return Node ;
}
這工作,但結果節點是這個
<dependentAssembly xmlns="">
<assemblyIdentity name="newone" publicKeyToken="608967" />
<bindingRedirect oldVersion="1" newVersion="2" />
</dependentAssembly>
我不需要的xmlns=""
屬性附加。
有沒有更好的方法來做到這一點?
謝謝。
好問題,+1。請參閱我的答案以獲得解釋和完整而簡單的解決方案。 – 2010-12-22 19:15:25
你問*有沒有更好的方法來做到這一點?*除了@Dimitre正確的答案,我認爲XSLT更適合這項任務。 – 2010-12-22 20:30:43