Visual Studio 目標框架造成 命名空間“Microsoft”中不存在類型或命名空間名稱“Crm”。是否缺少程序集引用中錯誤的處理

在使用Visual Studio 2010創建控制檯程序或者Windows窗體應用程序時,很多同學可能都遇見過一種情況:添加對Microsoft.Xrm.Sdk.dll以及Microsoft.Crm.Sdk.Proxy.dll引用沒有問題,編寫代碼也有上下文感知。如下圖所示

image

    但是,只要執行“生成解決方案”命令,Visual Studio就會拋出很多的編譯錯誤,包括

  • 命名空間“Microsoft”中不存在類型或命名空間名稱“Crm”。是否缺少程序集引用?
  • 命名空間“Microsoft”中不存在類型或命名空間名稱“Xrm”。是否缺少程序集引用?
  • 未能找到類型或命名空間名稱“IOrganizationService”(是否缺少 using 指令或程序集引用?)

等等錯誤,效果如下圖所示,

image

    明明引用成功了,代碼編寫也沒有問題,爲什麼就報錯了呢?Visual Studio出問題了吧,好吧,我重啓一下Visual Studio看一下。很不幸,錯誤依舊,並非是Visual Studio出現了問題。

    問題在哪裏呢?

    打開當前項目的屬性頁,可以看到,在“應用程序”頁籤的“目標框架”中,當前項目的“目標框架”是“.Net Framework 4 Client Profile”,如下圖所示。

SNAGHTMLed8f7c4

    把目標框架切換爲“.Net Framework 4”,Visual Studio會提示目標Framework進行修改的對話框,如下圖所示。

image

    點擊“是”,重新生成解決方案,OK,錯誤沒有了。程序也可以運行了。

    究其原因,Visual Studio產品組爲了程序的部署方面的考慮,特別創建了.Net Framework 4 Client Profile,該框架是.Net Framework 4的一個簡化版。可惜,在開發CRM的應用程序的時候,其目標框架必須是.Net Framework 4,所以出現了本文中描述的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章