2015-01-15 137 views
2

的新版本時,我已經創建了一個自定義的擴展NLOG,這使得使用NLOG 3.1。它包含一個佈局渲染器「iis-sitename」,用於檢索IIS網站的網站名稱。自定義佈局呈現「未發現」使用NLOG

我已經添加了擴展.NET Web服務的NLOG配置文件。

<extensions> 
    <add assemblyFile="NLog.Extensions.dll"/> 
</extensions> 

Web服務可以使用來自擴展布局呈示就好了,只要它還使用NLOG 3.1。但是,當我將網絡服務中的NLog升級到3.2時,出現錯誤。

無法找到Layout Renderer:'iis-sitename'。

我假設這事做一個版本衝突,因爲只有NLOG 版本發生了變化。擴展和Web服務中的代碼保持不變。

有沒有辦法這樣做需要升級擴展到NLOG 3.2並繼續使用3.2 Web服務來解決?

注:我可以擴展到3.2(還),因爲其他應用程序/服務,也利用了擴展,目前仍在使用NLOG 3.1無法升級NLOG。

總之,如何可以建立一個n日誌擴展DLL所以它可以通過使用NLOG 3.1或3.2項目中使用?

回答

1

你可以直接您的應用程序通過將集綁定到您的應用程序的配置文件,如下所示使用組件的更新版本。

<dependentAssembly> 
    <assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-3.2.1.0" newVersion="3.2.1.0" /> 
</dependentAssembly> 

更多關於此here

相關問題