1

私は最近、いくつかの作業を行う大規模な C# コード ベースをチェックアウトし、プロジェクトを VS2005 から VS2008 に変換しました。ソリューションの構築時に、そこに属さないたくさんの designer.cs ファイルが生成されたようです。クラスの再宣言エラーが発生しています。designer.cs (および関連付けられた resx ファイル) は、単なる古い C# クラスであるクラスから生成されていることに注意してください。このクラスには、デザイナーがまったく関連付けられていません。

これらのファイルを削除すると、問題が解決します。問題は、(約 14000 ファイルのコード ベースから) 500 以上のファイルがあるため、誤ったファイルを見つけて削除するのは面倒なプロセスです。さらに重要なことに、なぜ/どのようにこれが起こったのか知りたい.

何か案は?

4

1 に答える 1

3

テキスト エディターで .csproj ファイルを開きます。これは単なる XML であり、形式は比較的単純です。デザイナーが必要なファイルには、追加のエントリがあります。

<Compile Include="MyForm.cs">
  <SubType>Form</SubType>
</Compile>
<Compile Include="MyForm.Designer.cs">
  <DependentUpon>MyForm.cs</DependentUpon>
</Compile>

明確なものがない場合は、新しい VS2008 プロジェクトを作成し、問題が発生しているクラスと同じタイプのダミー クラスをいくつか追加します。ファイルがどのように表示されるかの参照として、その新しいプロジェクトの .csproj ファイルを確認できます。

于 2009-07-08T07:12:40.857 に答える