我已下载CRM Dynamics SDK并将其保存在本地目录中。在我的代码中,我使用EntityCollection
(与Xrm名称空间相关的其他类),这意味着我需要添加using Microsoft.Xrm.Sdk;
。
问题是在编译过程中我得到的错误是:
名称空间“Microsoft”中不存在类型或命名空间名称“Xrm”(您是否缺少程序集引用?)
所以,我仔细检查引用是否已经完成,并且非常准确地说,我在列表中看到microsoft.xrm.sdk
确实 。只是为了确定,我已经删除它并通过指向具有相同名称的DLL再次添加它。但无济于事......令人讨厌的事情是,我的同事使用相同的代码并在机器上编译(唯一的区别是他在Win 7上,我在Win 8上)。
我们如何解决这个问题?
答案 0 :(得分:24)
仔细检查项目设置,了解您正在使用的Target Framework。如果是 .NET Framework 4 Client Profile ,请尝试将其更改为 .NET Framework 4 。
答案 1 :(得分:23)
我用新的2015款dt替换我的crm 2013 dlls时收到了这个。
以上解决方案均不适合我。 但最终导致我走上正轨的是这个警告(它被列为命名空间错误下面的警告):
主要参考" Microsoft.Xrm.Client,版本= 5.0.9689.2166, Culture = neutral,PublicKeyToken = 31bf3856ad364e35, ProcessorArchitecture用于= MSIL"无法解决,因为它已建成 反对" .NETFramework,Version = v4.5.2"框架。这是一个更高的 版本比目前的目标框架 " .NETFramework,版本= V4.5.1"
当我检查时,我只安装了.Net 4.5.1,因此在安装.Net 4.5.2 Developper pack 并将我的项目的目标框架切换到这一切后,一切都工作了。
常规4.5.2更新不足以在VS中获取此版本的.net,您需要developper pack
答案 2 :(得分:2)
我的框架已设置为.NET Framework 4 因此,在4客户端配置文件和常规4之间切换的解决方案不适用。我做的一个技巧是将.NET Framework更改为3.5然后再更改为4.0 。我希望这能帮助一些人。
Thx @Jason Lattimer。你的回答让我知道如何解决我的问题。
祝您好运CRM开发人员!
答案 3 :(得分:2)
这可能与此特定问题不符,但我会将其添加为检查其他人的情况,以防Google将其指向此处,就像对我一样。
就我而言,我遇到了很多错误,例如“错误CS0234:名称空间'Microsoft.Xrm'中不存在类型或命名空间名称'Client'”。
添加“Microsoft.CrmSdk.Extensions”NuGet包修复了我的编译问题。
答案 4 :(得分:1)
在更改为.NET Framework 4并将.NET Framework更改为3.5然后再更改为4.0之后,我的项目仍然无效。
当我选择“添加参考”窗口提供的选项时,它无效。
对我有用的是点击“添加引用”窗口中的浏览按钮,然后查找Microsoft.Xrm.Sdk。 dll 文件
答案 5 :(得分:1)
我有.NET 4.0作为我的目标框架,我有这个编译错误。我尝试将其更改回3.5然后再回到4.0并且没有修复它。
为我解决问题的是删除项目目录中的bin,obj和tools文件夹。我不明白为什么这样有效的细节,但它对我有用。
答案 6 :(得分:1)
我遇到了这个错误,在我的情况下,在尝试了上述所有解决方案和网络上的其他解决方案后都没有成功,最后我找到了解决方案。
问题在于我使用的CRM SDK版本:2015年(不想知道原因!)。
下载了CRM 2013 SDK版本,将程序集引用更改为该版本,问题就消失了。
答案 7 :(得分:1)
原因是CRM 2015 SDK基于.Net 4.5.2 Framework构建,Visual Studio不支持4.5.2。
只需下载.Net Framework 4.5.2 转到项目属性并更改框架。
答案 8 :(得分:1)
我的CRM 2011插件遇到了同样的问题。就我而言,上述解决方案均无效。
在我的代码中,我使用早期绑定类。生成此类文件时,我使用了以下行以及导致错误的其他设置。
/codeCustomization:"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization, Microsoft.Xrm.Client.CodeGeneration"
一旦我添加了这个没有codeCustomization的新类文件,它就删除了所有错误。
答案 9 :(得分:1)
如前所述,
原因是CRM 2015 SDK建立在.Net 4.5.2框架和 Visual Studio不支持4.5.2。
只需下载.Net Framework 4.5.2转到项目属性并进行更改 框架。
替代方法可能是将Microsoft.Xrm.Sdk.dll替换为旧CRM SDK中的文件。我使用VS2010,CRM 2011 SDK文件解决了所有编译器错误。
P.S。将项目切换到.NET 3.5并返回到4.0没有帮助
答案 10 :(得分:0)
更新NuGet包帮助我解决问题