TFS и проблема с правами доступа к локальной папке - PullRequest
0 голосов
/ 16 июля 2010

Среда: VS 2010, Windows 7, TFS

У меня есть решение1 с фильтром решений, называемое Binaries (это физический путь на локальном компьютере, скажем, c: \ Binaries): я поставил все внешние сборкив этой папке.

В другом решении2 для каждого проекта библиотеки классов в этом решении установите свойство-> build-> Выходной путь в c: \ Binaries, чтобы на последнюю версию этих сборок можно было ссылатьсяЛюбой проект в Solution1

Работает нормально.

Теперь я поместил solution1 и solution2 в TFS, и все они находятся под контролем исходного кода TFS, включая папку Binaries.

Теперь яснова откройте решение 2 и соберите решение 2, оно дает мне ошибку разрешения для каждого проекта библиотеки классов, например:

Ошибка 49 Невозможно скопировать файл "obj \ Debug \ mycomponent.dll" в ".... \ Binaries\ mycomponent.dll».Доступ к пути '.... \ Binaries \ mycomponent.dll' запрещен.

Но если я проверю разрешение в windows 7 на c: \ Binaries, проблем нет.Так что должно быть что-то не так с VS 2010 или TFS.

Как решить эту проблему?

1 Ответ

1 голос
/ 16 июля 2010

Хотя я не большой сторонник бинарных файлов в вашем контроле над источниками, для этого есть обходной путь.

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

ОДНАКО! Если у вас работает несколько разработчиков, это (по умолчанию) установит эксклюзивную блокировку двоичных файлов. И они не смогут проверить файлы для редактирования.

Решение для этого в Visual Studio 2010. Перейти к

Team->Team Project Collection Settings->Source Control File Types и найдите «Исполняемые файлы» в списке. Измените объединение файлов на Enabled, и вы сможете иметь общие блокировки для файла.

Другой вариант - либо не «получить» папку с двоичными файлами, либо, если вы ее получили, «отсоединить» ее, используя

tf get "$/blah/project/Binaries" /server:servername /version:C1 /overwrite /force

Вам нужно будет указать itempsec и имя_сервера. Это получит первую версию двоичных файлов, которая не существует, поэтому она удалит их локально и пометит как не полученные (или проверенные).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...