无法访问Microsoft.Xrm命名空间

我已经下载了CRM Dynamics SDK并将其保存在本地目录中。 在我的代码中,我正在使用EntityCollection (在与Xrm名称空间相关的其他类中),这意味着我需要using Microsoft.Xrm.Sdk;进行添加using Microsoft.Xrm.Sdk;

问题是在编译期间我得到错误说:

命名空间“Microsoft”中不存在类型或命名空间名称“Xrm”(您是否缺少程序集引用?)

所以,我仔细检查引用是否已经完成,并且非常准确地说,我看到microsoft.xrm.sdk确实在我的列表中。 只是为了确定,我已经删除它并通过指向具有相同名称的DLL再次添加它。 但无济于事……令人讨厌的事情是,我的同事使用相同的代码并在机器上编译(唯一的区别是他在Win 7上,我在Win 8上)。

我们如何解决这个问题?

仔细检查项目设置以查看您正在使用的Target Framework。 如果是.NET Framework 4 Client Profile,请尝试将其更改为.NET Framework 4

我用新的2015款dt替换我的crm 2013 dlls时收到了这个。

上述解决方案均不适合我。 但最终导致我走上正轨的是这个警告(它被列为命名空间错误下面的警告):

无法解析主要参考“Microsoft.Xrm.Client,Version = 5.0.9689.2166,Culture = neutral,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL”,因为它是针对“.NETFramework,Version = v4.5.2”框架构建的。 这是比当前目标框架“.NETFramework,Version = v4.5.1”更高的版本

当我检查时,我只安装了.Net 4.5.1,因此在安装.Net 4.5.2开发并将我的项目的目标框架切换到这一切后再次工作。

常规4.5.2更新不足以在VS中获得此版本的.net,您需要开发者包

资料来源: http : //www.syntaxwarriors.com/2015/using-crm-2015-sdk-gives-error-that-xrm-does-not-exist-in-the-namespace/

我已将我的框架设置为.NET Framework 4,因此在4 Client Client和regular 4之间切换的解决方案不适用。 我做的一个技巧是将.NET Framework更改为3.5,然后再更改为4.0 。 我希望这会对一些人有所帮助。

Thx @Jason Lattimer。 你的答案给了我一个如何解决我的问题的线索。

祝CRM开发者好运!

这可能与此特定问题不符,但我会将其添加为检查其他人的内容,以防Google将其指向此处,就像它为我所做的那样。

就我而言,我遇到了很多错误,例如“错误CS0234:类型或命名空间名称’Client’在命名空间’Microsoft.Xrm’中不存在”。

添加“Microsoft.CrmSdk.Extensions”NuGet包修复了我的编译问题。

在更改为.NET Framework 4并将.NET Framework更改为3.5然后再更改为4.0之后,我的项目仍然无效。

当我选择“添加引用”窗口给出的选项时,它不起作用。

对我有用的是单击“添加引用”窗口中的浏览按钮,然后查找Microsoft.Xrm.Sdk。 DLL文件

我有.NET 4.0作为我的目标框架,我有这个编译错误。 我尝试将其更改回3.5然后再回到4.0并且没有修复它。

为我解决问题的是删除项目目录中的bin,obj和tools文件夹。 我不明白为什么这有效的细节,但它对我有用。

我有这个错误,在我的情况下,在尝试了所有上述解决方案和其他网络上没有成功之后,我终于找到了解决方案。

问题出在我使用的CRM SDK版本:2015(不想知道为什么!)。

下载的CRM 2013 SDK版本,更改了该版本的程序集引用,问题就消失了。

原因是CRM 2015 SDK建立在.Net 4.5.2 Framework上,Visual Studio不支持4.5.2。

只需下载.Net Framework 4.5.2转到项目属性并更改框架。

我的CRM 2011插件遇到了同样的问题。 就我而言,上述解决方案均无效。

在我的代码中,我使用早期绑定类。 生成此类文件时,我使用了以下行以及导致错误的其他设置。

 /codeCustomization:"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization, Microsoft.Xrm.Client.CodeGeneration" 

一旦我添加了这个没有codeCustomization的新类文件,它就删除了所有错误。

正如先前所说,

原因是CRM 2015 SDK建立在.Net 4.5.2 Framework上,Visual Studio不支持4.5.2。

只需下载.Net Framework 4.5.2转到项目属性并更改框架。

替代方法可能是用旧CRM SDK中的文件替换Microsoft.Xrm.Sdk.dll。 我使用VS2010,CRM 2011 SDK文件解决了所有编译器错误。

PS切换项目到.NET 3.5并回到4.0没有帮助

更新NuGet包帮助我解决了这个问题