Файлы, помеченные как только для чтения во время сборки - PullRequest
1 голос
/ 10 сентября 2010

Кажется, что когда TFS выполняет сборку, когда он создает каталог сборки и извлекает файлы из источника, он помечает все исходные файлы как только для чтения. Это вызывает проблему с решением BizTalk, которое у нас есть, похоже, что во время сборки biztalk генерирует / редактирует класс cs для сопоставления файлов, и это тот же тип файла, который получает и исключение неавторизованного доступа во время сборки, если это помечен как только для чтения. Но по жизни я так и не смог понять, как изменить это поведение TFS. Есть идеи?

Ответы [ 4 ]

5 голосов
/ 10 сентября 2010

Файлы помечены только для чтения, потому что он получает последнюю версию из TFS.Если BizTalk генерирует файл во время компиляции, вы можете либо не включать этот файл в систему управления версиями, либо удалить флаг этого файла только для чтения.

Вы можете удалить флаг в TFS 2010, отредактировав процесс сборки.Создайте шаблон и добавьте действие InvokeProcess для выполнения команды attrib -r.

Для получения дополнительной информации о том, как добавить InvokeProcess в шаблон процесса сборки, см. http://www.ewaldhofman.nl/post/2010/04/27/Customize-Team-Build-2010-e28093-Part-2-Add-arguments-and-variables.aspx

1 голос
/ 18 мая 2017

Это нормальное поведение. Но если у вас есть некоторые автоматически сгенерированные (например, минификация / grunt ...) процессы, для которых требуются записываемые файлы, обновите файл проекта и сделайте каждый файл доступным для записи в процессе предварительной сборки.

<Target Name="BeforeBuild">
<Exec Command=“attrib -R $(SolutionRoot)\myFile.ext“ />
</Target>

Я знаю, что уже поздно, но надеюсь, это поможет кому-нибудь приехать сюда.

Ссылка от: https://benoit808.wordpress.com/2007/10/30/changing-a-files-attribute-from-a-msbuild-script/

1 голос
/ 27 марта 2012

НЕ регистрируйте файлы .cs в Source Control для проекта biztalk. Перейдите к этим файлам в Source Control и удалите их.

0 голосов
/ 22 октября 2014

В моем случае я проверил свои локальные файлы, и они были с атрибутом READ-ONLY, поэтому я удалил атрибут локально, снова зарегистрировал файлы, и все это работает:

...