Я получаю кучу ошибок на моем сервере сборки:
C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (847,9): предупреждение MSB3644: не найдены эталонные сборки для фреймворка ".NETFramework, Version = v4.0" , Чтобы решить эту проблему, установите SDK или Targeting Pack для этой версии платформы или перенастройте свое приложение на версию платформы, для которой у вас установлен SDK или Targeting Pack. Обратите внимание, что сборки будут разрешены из глобального кэша сборок (GAC) и будут использоваться вместо ссылочных сборок. Поэтому ваша сборка может быть неправильно нацелена на ту платформу, которую вы намереваетесь. [D: \ Адис \ ртуть \ AdisFeeds \ кэш \ Adis.Feeds.Cache.ConsoleManager \ Adis.Feeds.Cache.ConsoleManager.csproj]
Проблема в том, что я уже установил .NET-компоненты Windows SDK 7.1. ... Я был особенно осторожен, чтобы установить флажок рядом со справочными сборками .net 4.0.
У кого-нибудь есть предложения относительно того, что идет не так?
Для записи я использую Nant для запуска сценариев сборки (версия 0.86) и nant.contrib (0.85) для задачи msbuild nant.
Обновление
Я просто бежал под этим углом. Я скомпилировал решение, используя msbuild с диагностической регистрацией на моем компьютере разработчика, а затем снова на сервере сборки. Тогда я сравнил логи.
Кажется, что существенным отличием является отсутствие каких-либо ссылок на путь \ Program Files \ References Assemblies. В частности, в FrameworkPathOverride.
Поэтому я попытался добавить FrameworkPathOverride в качестве параметра командной строки в msbuild. К сожалению, это только привело меня к печальному открытию, что справочные каталоги сборок, кажется, содержат только файлы XML. Так как там есть только mscorlib.xml. Нет mscorlib.dll
Что, черт возьми, происходит?!?