2010-12-15 61 views
4

我有一個使用特定程序集的命令行應用程序。程序集位於項目的根目錄,並設置爲「始終複製」。爲什麼Visual Studio 2010一經構建就會忽略我的引用?

我添加了對該程序集的引用,並且Visual Studio 2010很高興 - Intellisense正確地突出顯示所有內容,並且沒有錯誤報告。

但是,一旦我真正建立,我得到編譯錯誤,像我沒有添加引用,並且Intellisense突然給我紅色的曲線,就好像從未添加引用。

但引用仍然存在。

如果我刪除了引用然後重新添加它,Visual Studio會再次變得快樂,並且紅色的曲線消失。然後我建立,同樣的事情再次發生。

因此,Visual Studio同意引用在那裏。直到我建立。然後它聲稱它不是。儘管如此。

這隻發生在一個特定的DLL(NLog,如果它很重要)。另一個DLL(HtmlAgilityPack)正常工作,它的設置和配置方式完全相同。

回答

3

通過一些搜索,我發現.NET client profile存在問題。嘗試查看該鏈接,看看它是否可以解決問題。

如果您有興趣進一步閱讀,還有一些帖子在microsoft connect website

+1

目標框架設置爲「.Net Framework 4客戶端配置文件」。我將它改爲「.Net Framework 4」,它工作正常。不知道爲什麼這固定它,但它確實如此。謝謝。 – Deane 2010-12-15 16:26:10

+0

@Deane:很高興聽到這解決了你的問題。 NLog 1.0需要'System.Web'中的類不屬於客戶端配置文件。如果你不想依賴完整的Framework,你可以切換到NLog 2.0(它增加了對客戶端配置文件的支持)或重新編譯DLL,而不需要依賴'System.Web'的類。 – 2010-12-15 16:36:13

相關問題