Не удается получить доступ к пространству имен Microsoft.Xrm

Я загрузил SDK CRM Dynamics и сохранил его в локальном каталоге. В моем коде я использую EntityCollection (среди других классов, связанных с пространством имен Xrm), что означает, что мне нужно добавить using Microsoft.Xrm.Sdk;.

Проблема заключается в том, что во время компиляции я получаю ошибки, говорящие, что:

Тип или имя пространства имен "Xrm" не существует в пространстве имен "Microsoft" (вам не хватает ссылки на сборку?)

Итак, я дважды проверяю, что ссылка сделана, и, очень точно, я вижу, что microsoft.xrm.sdk действительно в моем списке. Чтобы быть уверенным, я удалил его и добавил его снова, указав на DLL с тем же именем. Однако безуспешно... Дело в том, что мой коллега использует тот же код, и он компилируется на его машине (с той лишь разницей, что он на Win 7, а я на Win 8).

Как мы можем убить эту проблему?

Ответы

Ответ 1

Дважды проверьте настройки своего проекта, чтобы узнать, какую целевую структуру вы используете. Если это Профиль клиента .NET Framework 4, попробуйте изменить его на .NET Framework 4.

Ответ 2

Я получил это при замене dll с crm 2013 новыми версиями 2015 года.

Ни один из вышеперечисленных решений не работал у меня. Но то, что в конечном итоге привело меня на правильный путь, было этим предупреждением (оно было указано как предупреждение ниже ошибок пространства имен):

Основная ссылка "Microsoft.Xrm.Client, Version = 5.0.9689.2166, Культура = нейтральная, 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 недостаточно для получения этой версии .net в VS, вам нужен пакет разработки

Источник: http://www.syntaxwarriors.com/2015/using-crm-2015-sdk-gives-error-that-xrm-does-not-exist-in-the-namespace/

Ответ 3

У меня была уже настроенная инфраструктура , установленная на .NET Framework 4, поэтому решение о переключении между 4-м клиентом и обычным 4 не применялось. Трюк, который я сделал, - это изменение .NET Framework в 3.5, а затем обратно до 4.0. Надеюсь, это поможет некоторым людям.

спасибо @Jason Lattimer. Ваш ответ дал мне понять, как решить мою проблему.

Удачи разработчикам CRM!

Ответ 4

Это может не соответствовать этой конкретной проблеме, но я добавлю это как что-то, чтобы проверять других в случае, если Google направит их сюда, как это было для меня.

В моем случае у меня появилось много ошибок типа "ошибка CS0234: Тип или имя пространства имен" Клиент "не существует в пространстве имен" Microsoft.Xrm ".

Добавление "Microsoft.CrmSdk.Extensions" пакета NuGet устраняет проблемы с компиляцией.

Ответ 5

После перехода на .NET Framework 4 и изменения .NET Framework на 3.5, а затем обратно до 4.0, мой проект все еще не работал.

Это не сработало, когда я выбрал опцию, заданную окном "Добавить ссылку".

Что сработало для меня, так это нажать кнопку обзора в окне "Добавить ссылку" и найти файл Microsoft.Xrm.Sdk.dll

Ответ 6

У меня была .NET 4.0 как моя целевая структура, и у меня была эта ошибка компилятора. Я попытался изменить его на 3.5, а затем вернуться к 4.0, и это не исправить.

Что мне удалось решить, это удалить папки bin, obj и tools в моем каталоге проектов. Я не понимаю деталей, почему это сработало, но это сработало для меня.

Ответ 7

У меня была эта ошибка, и в моем случае, после попытки всех вышеупомянутых решений и других пользователей в Интернете без успеха, я, наконец, пришел к решению.

Проблема была в версии SDK CRM, которую я использовал: 2015 (не хочу знать, почему!).

Загрузили версию SDK 2013 CRM, изменили ссылки на сборку этой версии, и проблема исчезла.

Ответ 8

Причина этого заключается в том, что SDK CRM 2015 был построен на .Net 4.5.2 Framework и Visual Studio не поддерживает 4.5.2.

Просто загрузите .Net Framework 4.5.2 Перейдите к свойствам проекта и измените структуру.

Ответ 9

У меня была такая же проблема с моим плагином CRM 2011. В моем случае ни одно из вышеперечисленных решений не работало.

В моем коде я использую ранний класс. При создании этого файла класса я использовал следующую строку вместе с другими настройками, которые вызывали ошибку.

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

Как только я добавил этот новый файл класса без codeCustomization, он удалил все ошибки.

Ответ 10

Как упоминалось ранее,

Основанием для этого является CRM 2015 SDK, построенный на .Net 4.5.2 Framework и Visual Studio не поддерживает 4.5.2.

Просто загрузите .Net Framework 4.5.2 Перейти к свойствам проекта и изменениям рамки.

Альтернативным способом может быть замена файла Microsoft.Xrm.Sdk.dll файлом из более старого SDK CRM. Я использую VS2010, и SDK файл CRM 2011 решил все ошибки компилятора.

P.S. Переключение проекта на .NET 3.5 и обратно в 4.0 не помогло

Ответ 11

Обновление пакета NuGet помогло мне решить проблему