Различия между зданием на машине с установленными VS2010 и на машине с установленным 7.1 SDK

StackOverflow https://stackoverflow.com/questions/4247437

  •  27-09-2019
  •  | 
  •  

Вопрос

Мы пытаемся обновить нашу кодовую базу для использования Visual Studio 2010, но возникли проблемы, чтобы все отсортированные на наших серверах сборки. Мы не хотим устанавливать Visual Studio 2010 на наших серверах сборки и поэтому установили только .NET 4 Framework и SDK (V7.1).

Мы все еще хотим нацелиться на платформу .NET 3.5 (мы будем обновлять до .NET 4 в какой-то момент в будущем, но еще не хочу, чтобы она еще не хочется).

Нам удалось получить код для компиляции, но теперь мы работаем в ошибках времени выполнения, как следующее.

Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

Проблема в том, что время выполнения пытается исключить встроенный ресурс, и если я смотрю на ресурсы в отражателе, я вижу, что все они .NET 4.0. Например, значок нашего приложения Windows имеет тип типа System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.

Таким образом, это выглядит как MSBuild составляется неправильно (используя другую среду выполнения)? Я подтвердил это, глядя на дифференцифы DLL, построенных на моей машине Dev, и которые построили на сервере сборки - понятно, что версия для используемых ресурсов DLL использует 2.0.0.0, а другой (с сервера сборки) использует 4.0 0.0. Рекомендации проекта относятся к DLL V2.0.0.0 в обоих случаях (как можно ожидать).

У кого-нибудь есть идея относительно того, почему MSBuild составляется ресурсы как 4,0 объектов?

Заранее спасибо.

Крис

Это было полезно?

Решение

Когда вы обновили ваше решение VS2010, вы изменили целевую структуру? Вы можете искать его, просмотрев файлы CSPROJ в текстовом редакторе. У вас есть 7,0а рамки на вашем сервере сборки?

РЕДАКТИРОВАТЬ :

Я столкнулся с той же проблемой некоторое время назад, и он имеет что с помощью ключей реестра не установленным. Посмотрите здесь:http://connect.microsoft.com/visualstudio/feedback/details/594338/tfs-2010-build-agent-and-windows-7-1-sdk-targeting-net-3-5-ded-genate- Ресурсы

Я думаю, что вам нужно вручную добавить ключ реестра HKLM\Software\Microsoft\MsBuild\ToolsVersions\SDK35ToolsPath

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

Я не уверен, что это поможет, но смотрите эту ссылку, касающуюся требуемой задачи

http://msdn.microsoft.com/en-us/library/ff598689.aspx.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top