4

複数のプラットフォーム用の複数のアプリを含むソリューション ファイルがあります。ユーザー ストーリーの開発中に、デフォルトのスタートアップ プロジェクトとして選択できるプロジェクトは 10 個あります。残念ながら、StartupItem は sln ファイルに保存されているため、バージョン管理システムで望ましくないマージ (またはさらに悪いことに衝突) が発生します。私が理解しているように、Visual Studio には、ユーザーごとにこれらの種類の設定を保存するための .suo ファイルがあります。

Xamarin Studio が StartupItem を sln ファイルに格納するのはなぜですか? suo ファイルのサポートはありますか? または、このコミットのピンポンに対する他の回避策はありますか?

4

3 に答える 3

3

Git をバージョン管理システムとして使用している場合は、この回答に示されているように、特定のファイルのフィルターを簡単に定義できます。

  1. *.sln filter=startupitemローカル.gitattributesファイルまたは でグローバルに新しいフィルタを定義します.git/info/attributes
  2. git config filter.startupitem.clean "sed '/StartupItem\ =\ .*.csproj/'d"コマンド ラインでこのフィルタの動作を定義します。(--globalオプションもご利用いただけます。)

Git は、まだコミットされていない変更としてソリューション ファイルを一覧表示します。しかし、ファイルをステージに追加すると、フィルターが適用され、線が消えます。

チェックアウト後、この行が欠落し、Xamarin はいくつかの既定のスタートアップ プロジェクトを設定します。これからは、選択をチェックインせずにプロジェクトを切り替えることができます。Xamarin はローカル*.slnで行をファイルに追加するだけです。

于 2014-08-03T22:44:43.037 に答える
0

1 つの解決策は、チェックイン時にファイルへの変更をファイルごとに確認することです。したがって、新しいプロジェクトが追加されない限り、ソリューション ファイルのチェックインは行われません。

仕事で行う次のレベルは、premake を使用してソリューション ファイルを構築することです。したがって、.sln または .vcproj ファイルはチェックアウト後に自動ビルドされるため、チェックインしなくなりました。この解決策は、プロジェクト ファイルが大幅に変更されたため、開発センターが「変更内容を確認する」という最初のルールに耳を傾けなかったという事実を解決することでした。

于 2014-07-10T06:35:33.780 に答える