1

TFSで制御されている場合、ファイルを再作成できません。

再現する手順:

  • 新しいコンソールアプリを作成します。
  • 新しいファイルを追加します:Class1.cs
  • ソリューション全体をTFSにチェックインします。
  • Class1.csを削除します。
  • Class1.csを再度作成します。

エラーのあるメッセージボックスが表示されます:

チェックアウト。アイテム<...>がワークスペースで見つかりませんでした。または、アイテムにアクセスする権限がありません。

ファイルは作成されますが、「ソリューションエクスプローラー」の近くにTFSアイコンはありません。また、ファイルは「変更待ち」で更新済みではなく、削除済みとしてマークされたままになります。

したがって、ファイルを再作成する場合は、

  • ファイルを削除します
  • チェンジセットをチェックインします(これにより、CIビルドが壊れます)
  • ファイルを作成します。

問題は 、それはローカルワークスペースの設計によるものですか?それとも、それは単なるバグであり、後で修正される予定ですか?それとも、それは私のローカルバグであり、誰も自分のマシンでそれを再現することはできませんか?

PS WCF RIAドメインサービスクラス(関連するすべてのメタデータを含む)を作成するための便利なVSツールがいくつかあるため、いくつかのファイルを再作成する必要がありますが、それらを更新するツールはありません。また、ドメインサービスの名前を変更したくありません。変更しないと、クライアントを更新する必要があります。

更新: 別のPCでバグを再現しようとしました。ファイルClass1.csが正常に再作成され、「更新済み」としてマークされました。メッセージボックスウィンドウはありませんでしたが、出力ウィンドウにも同じメッセージがありました。

アイテム<...>がワークスペースで見つかりませんでした。または、アイテムにアクセスする権限がありません。

EDMXモデルを再作成しようとすると、そのエラーが表示されたメッセージボックスが表示されますが、ファイルは編集済みとして正常に認識されます。わかりませんが、この2台のPCの違いは何ですか。

4

2 に答える 2

1

あなたのケースを再現しようとしましたが、答えは「はい」で、詳細は次のとおりです。

「更新済み」としてマークされたファイル。あなたが言ったように出力ウィンドウにメッセージがありましたが、このメッセージは非常に理にかなっています。なぜなら、最初にファイルを削除したときに、同じ名前のファイルを追加すると「削除」とマークされたからです。ファイルはまだソース管理に存在するため、ファイルを編集したいので、編集のためにチェックアウトしようとすると、デフォルトの構成であるため、画像を参照してください。ローカルのワークスペースでファイルが見つからないため、ファイルを削除し、これがメッセージです出力ウィンドウで。

ここに画像の説明を入力

2 番目のセクションでは、EDMX ファイルに関する更新で言及しています。つまり、エンティティ デザイナーを使用してモデルを変更したり、モデルの更新ウィザードを使用して、基になるデータベースの変更に基づいてモデルを更新したりすると、EDMX ファイルが更新されるため、生成されます。ファイル。

OK、素晴らしいアドバイスをさせてください.....生成されたファイルをソース管理に保持しませんが、それらを生成したファイルを保持し、手動で編集したファイルを保持します。これが、ソース管理を行わない理由ですコードの DLL は保持しませんが、その DLL を生成するソース コードは保持します。

于 2013-01-21T04:47:26.280 に答える
0

ラドワンさんへ。

  1. ご回答有難うございます。
  2. 英語でごめんなさい。
  3. ソース管理オプションにも同じ設定がありました。
  4. Update 1を削除し、VSを修復して、Update1を再インストールしました。これですべてが期待どおりに機能します。 ファイルを再作成すると、ダイアログウィンドウではなく出力ウィンドウにメッセージが表示されるようになりました。ファイルは編集済みとしてマークされます。
  5. Edmxの更新は、最初から再作成することとは異なります。私の知る限り、更新すると、EFは概念部分に加えた変更を保持します。場合によっては、ファイルを再作成してからクリーンアップする方が簡単です。
  6. * .generated.csを、ビルドごとに自動的に生成されるTFSやその他のコードに保存することはありませんでした。とにかく、あなたのアドバイスに感謝します。
于 2013-01-21T07:06:55.123 に答える