Пользовательские приложения C#, которые обращаются к TFS

Мы создали специальное приложение для внутреннего использования, которое обращается к TFS. Для этого мы используем библиотеки Microsoft (например, Microsoft.TeamFoundation.dll).

Когда это приложение развертывается на ПК, на которых уже установлен Team Explorer или VS, все в порядке. При развертывании на компьютерах, на которых он не установлен, происходит сбой.

Мы включаем все необходимые библиотеки DLL, но получаем ошибку «Обнаружена среда CLR и недопустимая программа». Ошибка возникает в умеренно безобидной строке:

TeamFoundationServer myServer = new TeamFoundationServer(“ourserver.ourdomain.com”);

Интересно, что популярный инструмент TFSAdmin (когда вы помещаете необходимые библиотеки DLL в каталог exe) выдает ту же ошибку.

Я также отмечаю, что многие другие пользовательские приложения, которые обращаются к TFS (например, http://hinshelwood.com/tfsstickybuddy.aspx), также требуют установки Team Explorer или VS для работы.

Очевидно, что библиотек DLL недостаточно, и при их установке происходит некое волшебство. Кто-нибудь знает, что это? Кто-нибудь знает, как сделать волшебство?

Вы уверены, что клиентские сборки TFS не имеют внешних зависимостей, которые не включены, или они не заблокированы системой безопасности Windows?

Aaron Powell 30.09.2008 08:00
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
1
4 968
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуйте этот список:

http://geekswithblogs.net/jjulian/archive/2007/06/14/113228.aspx

А также пытаюсь поместить их в GAC. Это может быть проблема с безопасностью - сборки в GAC получают более высокий уровень CAS.

Ответ принят как подходящий

«Официально поддерживаемый» способ написания приложения, использующего объектную модель TFS, - это установка Team Explorer на машине. Это особенно важно для целей обслуживания, т. Е. Для обеспечения того, чтобы при применении пакета обновления для VSTS к клиентскому компьютеру обновлялись и API TFS. У API TFS нет прав на повторное распространение, поэтому они не должны поставляться с вашим приложением.

Кстати - также обратите внимание, что если вы пишете приложение, использующее TFS OM, обязательно скомпилируйте его только как «X86», а не как «Any CPU». Все сборки TFS API помечены как X86, но если ваше приложение помечено как «Any CPU», то на машине x64 оно будет загружено 64-битной средой CLR, но когда придет время динамически загрузить сборки TFS, произойдет сбой.

Удачи,

Мартин.

Обратите внимание, что код, использующий объектную модель TFS 2010, больше не нужно компилировать как X86, поскольку API 2010 теперь работает с обеими версиями CLR.

Martin Woodward 26.03.2010 23:54

Другие вопросы по теме