在Logging framework - NLog安裝與設定中介紹過NLog提供設定檔的結構描述檔以便支援Visual Studio的Intellisense功能,如此方便我們撰寫NLog設定。
然而在昨天卻出現了Intellisense無法使用的問題,在Error List視窗也出現了不少警告訊息。
看起來像是結構描述檔已經被重複定義了。
出現此問題很有可能是方案內有兩個以上的專案都安裝了NLog的結構描述檔所以造成Visual Studio把兩份以上相同的結構描述檔都cache住了。在我的例子中,我的方案檔的確有兩個web app專案分別都安裝了NLog.xsd,而且其中一個NLog.config的Intellisense可以運作而另一個卻不行。
解決這個問題有兩個方法。第一個方式是先開啟其中一個NLog.config設定檔,至XML-> Schema...找到兩個相同的NLog結構描述檔,將其中一個設定為Do not use this schema。
設定完後Error List的警告訊息就會不見,而Intellisense的支援也恢復正常。然而這個方法在每次新加的專案中如果有使用到NLog.xsd的話就要記得去修改設定。
另一個一勞永逸的方式是將NLog.xsd放置到Visual Studio儲存結構描述檔的資料夾。以Visual Studio 2012為例,此資料夾是位於C:\Program Files (x86)\Microsoft Visual Studio 11.0\Xml\Schemas。接著,移除專案中的NLog.xsd,之後新增的專案若需要使用NLog不再需要放入NLog.xsd便可直接使用到Intellisense的支援了。
參考
No comments:
Post a Comment