2009-08-19 79 views
8

クライアントのサーバーの1つにプロジェクトを展開するときにエラーが発生しています。システムは、ローカルの開発環境とステージング環境で正常に動作します。エラーは次のとおりです。名前空間 'Linq'が名前空間 'System.Data'に存在しません

型または名前空間名「LINQのは」名前空間に存在しない「System.Data」

我々は明白なチェックを行ってきた: - 私たちは、web.configファイル内の参照を持っていますSystem.Data.Linq、System.Core、System.Linqなど - プロジェクトのターゲットフレームワークが3.5 - クライアントのサーバー上のIISのASP.NETバージョンが2.0.50727 であることを確認しました。サーバーにフレームワーク3.5がインストールされており、Windows/assemblyフォルダにSystem.Data.Linq DLLが含まれていることを確認しました。

他のアイデアはありますか?

+1

サービスパック(以下のOrion)をインストールした後、数回の再起動後に動作し始めました。根本的な問題は何だったのかまだ分かりませんが、現在は問題はありません。 – Keith

答えて

16

スクリプトからプロジェクトをビルドするときに同じコンパイルエラーが発生しましたが、Visual Studio 2010は同じプロジェクトをうまく構築していました。 VS2010からSystem.Core参照を追加しようとすると、参照が暗黙的に設定されているというエラーが表示され、参照を追加しませんでした。

私の解決策は、csprojファイルに次のリファレンスを手動で追加することでした。なお、参照のターゲットフレームワークを明示的に(これは3.5に設定されているプロジェクトのターゲットフレームワークの上にある)3.5に設定されています:

<Reference Include="System.Core"> 
    <RequiredTargetFramework>3.5</RequiredTargetFramework> 
</Reference> 
+0

System.Coreへの参照を追加すると、SQLデータツールプロジェクトに変換されたSQL CLRプロジェクトで働いていました。 – Seth

+0

私はこの問題があり、System.Coreは既に参照されています。 –

+0

@HotLicksは、上記のようにcsprojファイルで明示的に参照されていますか? .csprojファイルを開いて確認できますか? – Ashby

2

からhere:「System.Core.dll」が参照されていない場合(コアLINQ APIを含むアセンブリ)、このエラーが発生します。ただし、.NET3.5をターゲットにするときは、すべてのデフォルトテンプレートにこの参照を含める必要があります。

+0

私のオリジナルポストから:「System.Data.Linq、System.Core、System.Linqなどのweb.configに参照があります」 – Keith

2

私は.NET 4.0でのVisual Web Developerの2010年にウェブサイトを開発して同様の問題がありました。 他のディレクトリ内のファイルの

VWD にApp_Codeにファイルの名前空間 "System.Linqの" を見つけることができますが、ない。奇妙だが真実。

"プロジェクト"は "Webサイトを開く"を使って開かれたので、.csprojファイルはありませんでした。

コピー:

C:\プログラムファイル\リファレンスアセンブリ\マイクロソフト\ Frameworkの\ .NETFramework \ v4.0の\ System.Core.dllウェブサイトのbinディレクトリ

他のディレクトリのファイルに対してVWDによってネームスペースが検出されました。

誰かを助けることを願っています。

0

私はすでに答えていることを知っているだけですが、Visual StudioでSVNやその他のリポジトリでビルドしようとするとビルドが成功し、問題に直面するのはなぜですか?

理由:IDEによってビルドシステムを呼び出すときに参照されますが、MSBuild自体では参照されません。

しかし、上述のように参照番号Ashbyを追加した後は、正常に動作します。 この問題はVisual Studio 2012でも発生していますが、この事実を認識していたため、すべてがうまくいきました。

よろしく、

VARUN Shringarpure

0

私は同じ問題が、異なる根本的な原因を持っていました。

私はdbmlのdesigner.csファイルで名前空間宣言を変更しました。デザイナーを介して新しいオブジェクトを追加するたびに、Visual Studioは名前空間宣言を元に戻し、ビルドに失敗しました。

名前空間を元に戻して問題を解決してください。

関連する問題