さて、これは質問と解決策の両方です。私は、linq と EF を使用していくつかの DB2 テーブルをクエリし、結果をデータグリッドビューに表示するソリューションを展開する際に問題がありました。開発マシンでは問題なく動作しましたが、試した他の 2 台のマシンでは、「エラー 40: 整数型は名前空間またはエイリアスで修飾されていません」というメッセージが表示されました。
さまざまな解決策を 2 日間試した後、他のマシンの 1 つでデバッグを試みることにしました。
開発マシンは Visual Studio 2010 を搭載した Windows XP です。展開マシンは両方とも VS 2010 を搭載した Windows 7 です。
さて、私はすぐに、展開マシンで、VS が開発マシンでは表示されなかったエラー (整数が修飾されていないなど) のリストを表示することに気付きました。次に気付いたのは、ソリューション内の .edmx ファイルをダブルクリックすると、使用していたテーブルの視覚的な表示ではなく、xml で開かれることでした。
この xml では、タイプが「整数」のすべてのプロパティ/テーブル列に下線が引かれています。まあ、それは意味がありません。この VS2010 は、他の VS2010 によって自動生成されたデータ型を認識できませんか? 必死になって、「Type = 'integer'」のすべてのインスタンスを「Type = 'int'」に変更しました。これは、魅力のように3台すべてのマシンでデバッグおよび実行されました。
私の質問は次のとおりです。1) これは 2 つの開発環境 (XP と W7) の間に存在するバグですか、それとも開発環境の設定が間違っていますか? 2) XP マシンで、.edmx ファイルを xml ビューで編集するにはどうすればよいですか? VS 内から可能ですか、それともテキスト エディターを使用する必要がありますか?