none
Visual Studio 2015 .csproj.user等のファイルについて RRS feed

  • 質問

  • Visual Studio 2015 CommunityでWindows フォーム アプリケーション(C#)等を新規作成した時に、VS2010等の頃に作られていた".csproj.user"等のファイルが作成されません。

    プロジェクトのプロパティで、"ビルド後のイベント"の"コマンド"に、作成された実行ファイルをローカルフォルダにコピーするようなコマンドを作成した場合、フォルダ構成は開発者によって異なるので管理ソースにはコミットしたくないのですが、".csproj"のファイルの方に書き込まれてしまいます。

    ".csproj.user"を使用する事で回避できるかどうかは不明なのでその問題についての回答は求めませんが、

    VS2015で".csproj.user"が作成される条件はどうなっているのでしょうか。詳しく解説されたものが見付けられず、困っています。教えて下さい。

    p.s.下記のサイトを見ると存在するようなので、廃止された訳ではないと思っています。

    http://www.atmarkit.co.jp/ait/articles/1508/18/news021_2.html

    2015年11月14日 7:51

回答

  • ビルドイベントは、通常、ユーザー個別の設定値ではありません。
    csproj.user はデバッグプロパティの設定(外部 exe の起動、コマンドライン引数など)が保存されるようなものです。

    ユーザー個別のビルドイベントのようなものを書きたかったら、バッチファイルを実行するようにして、そのバッチファイルはソース管理に登録しないようにしてはいかがでしょうか。
    if exist と組み合わせればバッチを置かなかった場合にもエラーにならないはずです。

    • 回答としてマーク Yuki Nishina 2015年11月14日 11:47
    2015年11月14日 8:54
    モデレータ
  • ビルド後イベントはVisual Studioを使用した場合には.csprojに書き込まれますが、テキストエディタでcut & pasteで.csproj.userに移動したところ、有効に機能しました。

    あくまでリポジトリに含めないユーザー個別の設定ということだと解釈できますので、必要に応じて編集されてみてはどうでしょうか?

    • 回答としてマーク Yuki Nishina 2015年11月14日 11:47
    2015年11月14日 10:31

すべての返信

  • ビルドイベントは、通常、ユーザー個別の設定値ではありません。
    csproj.user はデバッグプロパティの設定(外部 exe の起動、コマンドライン引数など)が保存されるようなものです。

    ユーザー個別のビルドイベントのようなものを書きたかったら、バッチファイルを実行するようにして、そのバッチファイルはソース管理に登録しないようにしてはいかがでしょうか。
    if exist と組み合わせればバッチを置かなかった場合にもエラーにならないはずです。

    • 回答としてマーク Yuki Nishina 2015年11月14日 11:47
    2015年11月14日 8:54
    モデレータ
  • コマンドライン引数を追加してみたら、確かに.csproj.userが作成されました。
    (では前述のサイトでは、何故最初から存在しているのか、気になるのですが…)

    提示の方法ですと、バッチファイルを呼び出すコマンドの追加までは、チームに承認してもらう必要がありますね。

    検討します。

    ありがとうございました。

    2015年11月14日 9:29
  • ビルド後イベントはVisual Studioを使用した場合には.csprojに書き込まれますが、テキストエディタでcut & pasteで.csproj.userに移動したところ、有効に機能しました。

    あくまでリポジトリに含めないユーザー個別の設定ということだと解釈できますので、必要に応じて編集されてみてはどうでしょうか?

    • 回答としてマーク Yuki Nishina 2015年11月14日 11:47
    2015年11月14日 10:31
  • もしかしたら…と思い私も後で試してみようと思っていました。

    VSでまた編集し直すと.csprojの方へ書き込まれてしまうようなので注意が必要ではありますが、管理ソースに影響を与えないので、この方法もいいですね。

    ありがとうございました。

    追記:
    マクロを使用した場合、うまく動作しないようでした。

    2015年11月14日 11:47