11

TFS ソース管理を使用しています。

リソース ファイル (Resources.resx) に新しいリソース キーを追加して [保存] をクリックすると、TFS は Resources.resx をチェックアウトしますが、Resources.Designer.cs をチェックアウトしません。これにより、Resources.Designer.cs の更新が次のエラーで失敗します。

変更する必要があるファイル 'Resources.Designer.cs' を変更できないため、実行しようとしているコマンドを完了できません。ファイルがソース管理下にある場合は、チェックアウトすることをお勧めします。ファイルがディスク上で読み取り専用の場合は、その属性を変更することができます。

ここに画像の説明を入力

ファイルが読み取り専用で、ファイルがチェックアウトされていないという点で、エラーは正しいです。リソース キーを追加/編集するたびにデザイナーを手動でチェックアウトする必要はありません。この問題の解決策や回避策を知っている人はいますか?

「編集時にチェックアウト」ではなく、「保存時にチェックアウト」するように TFS を設定していることに注意してください。これは、未編集のチェックアウトの量を減らすために意図的に行われています。

編集:

これは、他のファイル タイプでも発生します。たとえば、コンパイル済みの MVC ビューを作成するためにRazorGeneratorを使用しています。最初に . generated.cs をチェックアウトせずに .cshtml を編集しようとすると、同じ問題が発生します。

アップデート:

この問題は、自動生成された分離コードを持つすべてのファイル (私が見た限り) で発生します: .resx、.edmx、.aspx、.cshtml (コンパイルされたビューに RazorGenerator を使用する場合) など。 「編集時: 何もしない」を設定するためだけに苦労する価値はありません。これを「編集時: 自動チェックアウト」にリセットすることにしました。ご意見をお寄せいただきありがとうございます。この FAIL について TFS チームに感謝します。

4

4 に答える 4

2

まあ、これは答えとしてカウントされないと思ったので、コメントに書きました。保存時のチェックアウトは、ファイルを保存するときにのみトリガーされます。ファイルが自動生成されたときはトリガーされません (このファイルは resx に割り当てられたカスタム ツールによって編集されるため、チェックアウトを行う保存では自動生成はトリガーされません)。

設計によるものであるということ以外に、適切な回答 (問題を解決するもの) が得られないことを恐れていますが、接続時にケースを開いて、この動作を変更するよう依頼する価値があるかもしれません。

于 2012-08-12T14:29:23.513 に答える
1

なぜ編集されていないチェックアウトの量を減らしたいのですか?ファイルが変更なしでチェックインされた場合、TFSは通知し、ファイルのチェックイン履歴に表示されません。

1つのファイルをチェックアウトし、すぐにチェックインすることで、これを自分でテストできます。TFSは、変更がなく、チェックアウトが取り消された場所を通知します。

ここに画像の説明を入力してください

では、編集時にチェックアウトに戻すことを検討してください。他の答えで述べたように、これはあなたの問題を解決します...

于 2012-08-10T11:05:42.147 に答える
1

仕事でTFSを使用する必要があります。私は多くの奇跡を見てきたし、問題がどこにあるのかを突き止めるのに多くの時間を費やしてきた. TFS は私の会社の選択ですが、私のお気に入りではありません。

TFS (特にサーバーが遅く、定期的にネットワークの問題が発生している場合) は、開発者としての私にとって災難です。VS はソリューション内のファイルに対してのみ変更を探しますが、すべてが表示されるわけではありません。VSの外部でファイルを変更する必要があるサードパーティのツール(統合テストまたはカスタムビルドステップに適合)を使用すると、おそらく同じエラーが発生します。

しかし、私たちは解決策を見つけました。私のマシンではgitを使用しています。git-tfsをインストールしました。覚える必要があるのは、3 つの魔法のコマンドだけです

  • git tfs フェッチ
  • git マージ リモート/tfs/デフォルト
  • git tfs ct

それでおしまい。会社のルールを破ることはありません。同時に、そのような奇妙な問題からも解放されます。私たちはその悪夢を忘れてしまいました。

編集:今後の TFS 2012 のローカル ワークスペースはいくつかの問題を解決し、TFS 2012 は SVN に近づきますが、DVCS にはなりません。MS は、外部 DVCS との統合に投資しています - よろしくお願いします - Git-TF

于 2012-08-02T19:31:13.457 に答える
1

I think this is the problem

Note that I have TFS set up to "check out on save" as opposed to "check out on edit". This is deliberate to reduce the amount of unedited checkouts.

To avoid above problem, revert back to default settings. Then download TFS power tools. Then use this command to revert changes which are checked out but contain no edits

tfpt uu /noget

Update: On changing above setting the issue no longer occurs. For details, refer below discussion in comments.

于 2012-08-02T22:20:25.617 に答える