2

O/R デザイナーを使用して Linq オブジェクトに変更を加えると (通常は DB に追加したフィールドを追加することによって)、プロジェクトを保存すると、designer.cs ファイルが取得されるという奇妙な問題があります。削除しました!

幸いなことに、頼りになるソース管理があります。ファイルの削除を取り消し、csproj ファイルへの変更を取り消します。しかし、これは本当に厄介で、正当な理由があるようには見えません (私のプロジェクトに約 100 個のオブジェクトが含まれているという事実は言い訳にはなりません)。

他の誰かがこの問題を抱えていますか?これが起こる原因は何ですか?

編集- 追加情報 - 私の DataContext クラスはカスタム基本クラスで設定されています。これは何か関係があると思いますか...?

4

5 に答える 5

6

生成されたクラスに機能 (など) を追加するために部分クラスを追加しましたか? その場合、奇妙に聞こえるusingかもしれませんが、部分クラス ファイル内のステートメントの位置は、実際にはコード生成を中断させる問題になる可能性があります。それらを名前空間内に移動してみてください。

いいえ、冗談ではありません。

この場合のエラー メッセージは、"The custom tool 'MSLinqToSQLGenerator' failed. Unspecified error" です。変更元:

using System;
namespace MyNamespace {
    partial class MyDataContext {}
}

に:

namespace MyNamespace {
    using System; 
    partial class MyDataContext {}
}

それを修正します。気紛れなバグ。

于 2009-06-08T11:44:45.393 に答える
4

大きな DataSet で作業する場合、DataSet デザイナーに同様の問題があります。ソース管理システムでファイルの削除を取り消す必要はありません。デザイナーで作業を保存するだけで、.designer.cs ファイルが再生成されます。ファイルを右クリックして [カスタム ツールの実行] を選択することもできます。これも同じ効果があります。

于 2009-06-08T09:39:50.310 に答える
0

*.designer.cs ファイルを生成するカスタム ツールは、元の O/R デザイナー ファイルを変更して保存するたびに、Visual Studio によって起動されます。そのため、古い *.designer.cs ファイルを削除してから新しいファイルを作成するという方法で機能する場合があります。新しく作成されない場合は、カスタム ツールの問題です。

于 2009-06-08T10:15:18.587 に答える