TFS がビルドを行うとき、ビルド ディレクトリを作成してソースからファイルをプルするときに、すべてのソース ファイルを読み取り専用としてマークしているようです。これは、私たちが持っている BizTalk ソリューションで問題を引き起こしています。ビルド時に、biztalk がファイルをマッピングするための cs クラスを生成/編集しているように見えます。読み取り専用としてマークされています。しかし、私の人生では、TFSのこの動作を変更する方法を理解できません。何か案は?
4 に答える
TFS から最新バージョンを取得しているため、ファイルは読み取り専用としてマークされています。コンパイル中に BizTalk がファイルを生成している場合は、このファイルをソース管理に含めないか、そのファイルの読み取り専用フラグを削除することができます。
Build Process Template を編集して TFS 2010 のフラグを削除し、attrib -r コマンドを実行する InvokeProcess アクティビティを追加できます。
InvokeProcess をビルド プロセス テンプレートに追加する方法の詳細については、http: //www.ewaldhofman.nl/post/2010/04/27/Customize-Team-Build-2010-e28093-Part-2-Add-arguments- を参照してください。 and-variables.aspx
これは正常な動作です。ただし、書き込み可能なファイルを必要とする自動生成された (つまり、ミニフィケーション/grunt などの) プロセスがある場合は、プロジェクト ファイルを更新し、ビルド前のプロセスで各ファイルを書き込み可能にします。
<Target Name="BeforeBuild">
<Exec Command=“attrib -R $(SolutionRoot)\myFile.ext“ />
</Target>
遅いことはわかっていますが、これが誰かがここに来るのに役立つことを願っています.
参照元: https://benoit808.wordpress.com/2007/10/30/ching-a-files-attribute-from-a-msbuild-script/
.cs ファイルを biztalk プロジェクトのソース管理にチェックインしないでください。ソース管理でそれらのファイルに移動し、それらを削除します。
私の場合、ローカル ファイルをチェックしたところ、読み取り専用属性が設定されていたので、ローカルで属性を削除し、ファイルを再度チェックインしたところ、すべて機能しました。