web-dev-qa-db-ja.com

Microsoft.Xrm名前空間にアクセスできません

CRM Dynamics SDKをダウンロードして、ローカルディレクトリに保存しました。私のコードでは、(Xrm名前空間に関連する他のクラスの中で)EntityCollectionを使用しています。これは、using Microsoft.Xrm.Sdk;を追加する必要があることを意味します。

問題は、コンパイル中に次のようなエラーが発生することです。

タイプまたは名前空間の名前「Xrm」が名前空間「Microsoft」に存在しません(アセンブリ参照がありませんか?)

したがって、参照が行われていることを再確認すると、非常に正確に、リストにMicrosoft.xrm.sdkが実際にisであることがわかります。念のために言っておきますが、同じ名前のDLLをポイントして、削除してから再度追加しました。しかし、役に立たないのですが...同僚が同じコードで、彼のマシンでコンパイルされます(唯一の違いは、彼がWin 7を使用していて、私がWin 8を使用していることです)。

この問題をどのように解決しますか?

17

プロジェクト設定を再確認して、使用しているターゲットフレームワークを確認してください。 。NET Framework 4クライアントプロファイルの場合は、。NET Framework 4に変更してみてください。

24
Jason Lattimer

Crm 2013dllを新しい2015dllに置き換えるときにこれを受け取りました。

上記の解決策はどれも私にはうまくいきませんでした。しかし、最終的に私を正しい方向に導いたのは、この警告でした(名前空間エラーの下に警告としてリストされていました)。

プライマリ参照「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.2Developper packをインストールし、プロジェクトのターゲットフレームワークをこれはすべて再び機能しました。

VSでこのバージョンの.netを取得するには、通常の4.5.2アップデートでは不十分です。 開発者パック が必要です。

ソース: http://www.syntaxwarriors.com/2015/using-crm-2015-sdk-gives-error-that-xrm-does-not-exist-in-the-namespace/

23
JensB

私は自分のフレームワークを持っていましたすでに.NET Framework 4に設定されていますしたがって、4クライアントプロファイルと通常の4を切り替えるソリューションは適用されませんでした。私がしたトリックは。NET Frameworkを3.5に変更してから4.0に戻すでした。これが一部の人々に役立つことを願っています。

Thx @Jason Lattimerあなたの答えは私に私の問題を解決する方法の手がかりを与えてくれました。

頑張ってCRM開発者!

2
Falcon

これはこの特定の問題と一致しない可能性がありますが、Googleが私と同じようにここに指示した場合に備えて、他の人をチェックするためにこれを追加します。

私の場合、「エラーCS0234:タイプまたは名前空間名「クライアント」が名前空間「Microsoft.Xrm」に存在しません」などのエラーが多数発生していました。

"Microsoft.CrmSdk.Extensions" NuGetパッケージを追加すると、コンパイルの問題が修正されました。

2
Paul Schroeder

CRM2011プラグインでも同じ問題が発生していました。私の場合、上記の解決策はどれも機能しませんでした。

私のコードでは、アーリーバウンドクラスを使用しています。このクラスファイルを生成するとき、エラーの原因となっている他の設定とともに次の行を使用していました。

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

CodeCustomizationなしでこの新しいクラスファイルを追加すると、すべてのエラーが削除されました。

1
Kmria

その理由は、CRM 2015SDKが.Net4.5.2 Framework上に構築されており、VisualStudioが4.5.2をサポートしていないためです。

.Net Framework 4.5.2 Goto Project Propertiesをダウンロードして、フレームワークを変更するだけです。

1
sadzag

私はこのエラーが発生しました。私の場合、上記のすべての解決策やその他の解決策をWebで試しても成功しなかった後、ようやく解決策にたどり着きました。

問題は、私が使用していたCRM SDKのバージョン:2015にありました(理由はわかりません!)。

CRM 2013 SDKバージョンをダウンロードし、アセンブリ参照をそのバージョンに変更すると、問題は解決しました。

1
demian

.NET Framework 4に変更し、.NET Frameworkを3.5に変更してから4.0に戻した後、私のプロジェクトはまだ機能していませんでした。

「参照の追加」ウィンドウで指定されたオプションを選択すると、機能しませんでした。

私のために働いたのは、「参照の追加」ウィンドウの参照ボタンをクリックして、Microsoft.Xrm.Sdk .dllファイルを探すことでした。

1
MauricioJuanes

前に述べたように、

その理由は、CRM 2015SDKが.Net4.5.2 Framework上に構築されており、VisualStudioが4.5.2をサポートしていないためです。

.Net Framework 4.5.2 Goto Project Propertiesをダウンロードして、フレームワークを変更するだけです。

別の方法は、Microsoft.Xrm.Sdk.dllを古いCRMSDKのファイルに置き換えることです。私はVS2010を使用しており、CRM 2011SDKファイルはすべてのコンパイラエラーを解決しました。

P.S.プロジェクトを.NET3.5に切り替えて4.0に戻すことは役に立ちませんでした

1
Kuleris

ターゲットフレームワークとして.NET4.0を使用していましたが、このコンパイラエラーが発生しました。 3.5に戻してから4.0に戻してみましたが、修正されませんでした。

私にとって問題を解決したのは、プロジェクトディレクトリのbin、obj、toolsフォルダを削除することでした。これがうまくいった理由の詳細はわかりませんが、うまくいきました。

1
AshleyS

NuGetパッケージを更新すると、問題を解決するのに役立ちました

0
acki4711