У меня есть решение VS2010, которое создает несколько сборок для .NET 2.0.MSBuild создает спутниковые сборки для неправильной версии фрейма
Это также включает в себя спутниковые сборки.
Когда я создаю все с VS2010, все в порядке. Но у меня есть компьютер XP, работающий как сервер сборки с использованием MSBuild. Созданные там спутниковые сборки не распознаются. Глядя на ILDASM, я вижу, что VS2010 создает метаданные версии 2, в то время как MSBuild создает версию 4. Я предполагаю, что это означает, что VS2010 создает правильные версии .NET2, в то время как MSBuild создает только основные сборки для .NET2, но спутниковые сборки - .NET4.
Я уже знаю об этой теме здесь: What decides the target framework version of a satellite assembly?
Но это не работает для меня.
Любые идеи, как я могу заставить сервер сборки создавать спутниковые сборки .NET2? Я мог бы улучшить мой скрипт, если знаю, как правильно вызвать AL.exe.
Пробовал [это] (http://stackoverflow.com/a/2419961/147211)? – KMoraz
Настройка версии инструмента с помощью переключателя '/ tv: 2.0' не помогает, потому что тогда он использует старый компилятор C#, а не компилятор vs2010 C# 4.0. Настройка целевой структуры не помогает. Поскольку вывод показывает, что вызов AL.exe, который генерирует спутниковые сборки, выполняется таким же образом, и ILDASM по-прежнему показывает сборки .NET4-satellite. – ZoolWay