2013-02-11 5 views
7

Прежде всего, я нашел другие сообщения в StackOverflow here, но это не решило мою ошибку.сборка смешанного режима построена против ошибки «v2.0.50727»

У меня есть 3 разных среды/домены с сервером сборки в каждом месте. Мои среды Dev и UAT строят просто отлично, но производственная версия не работает.

Я получаю ошибку

Смешанный режим сборки построена на версию «V2.0.50727» в выполнении и не может быть загружена в среде выполнения 4.0 без дополнительной информации конфигурации

Я добавил этот тег в свой файл app.config (это было рекомендуемое исправление в ссылке выше)

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0"/> 
    </startup> 

Что еще может быть между моими серверами/средами/доменами сборки, которые могут вызвать эту проблему?

В ответ на вопрос Аллена, я считаю, что это то, что вы спрашиваете:

<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' ">x86</Platform> 
    <ProductVersion>8.0.30703</ProductVersion> 
    <SchemaVersion>2.0</SchemaVersion> 
    <ProjectGuid>{D3D87C05-2811-489B-9F0D-7676B6485AA0}</ProjectGuid> 
    <OutputType>Exe</OutputType> 
    <AppDesignerFolder>Properties</AppDesignerFolder> 
    <RootNamespace>MVST.Batch.CorrespondenceConversion</RootNamespace> 
    <AssemblyName>MVST.Batch.CorrespondenceConversion</AssemblyName> 
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> 
    <FileAlignment>512</FileAlignment> 
    </PropertyGroup> 

У меня есть более 100 других проектов, которые могут быть сконфигурированы точно так же, как и те, строить нормально.

+0

ли установлен .Net 4.0 на производстве? – TheKingDave

+0

Да, я показываю в папке C: \ Windows \ Microsoft.NET \ Framework, а также в папке Framework64 и v4.0.30319 – ganders

+0

, какая версия набора инструментов платформы требуется для сборки в смешанном режиме и присутствует ли она на сервере prod? – allen

ответ

13

http://support.microsoft.com/kb/2572158

Добавить словоблудие useLegacyV2RuntimeActivationPolicy="true" ниже либо одно из следующих мест:

  1. sgen.exe.config файл, расположенный по следующему адресу: .. \ Program Files \ Microsoft SDK \ Windows \ v7.0A \ bin \ NETFX 4.0 Инструменты \
  2. Файл приложений app.config

<startup useLegacyV2RuntimeActivationPolicy="true"> 

      <supportedRuntime version="v4.0" /> 

</startup>  

+0

Я добавил указанный выше атрибут в свой app.config, и все прошло отлично. – pennyrave

+1

Я просто хочу указать, что необходимая часть: useLegacyV2RuntimeActivationPolicy = "true" – Taegost

0

Вот исправление, которое сработало ... еще не знаю, почему мой проект должен быть 2.0, тогда как другие (в ссылке в моем вопросе) должны быть 4.0.

<startup> 
    <supportedRuntime version="v2.0.50727"/> 
    </startup> 
+0

Теперь, когда я реализовал вышеописанное в своем коде, чтобы его построить, он теперь терпит неудачу, когда я пытаюсь запустить задание. Если я прокомментирую весь этот раздел, то работа будет работать нормально. Итак, как мне встретиться посередине? Мне нужен этот раздел, чтобы получить проект для сборки, но мне нужно прокомментировать его, чтобы программа запускалась ... – ganders

2

Если вы работаете в 64-битной, возможно, придется добавить к визуальной конфигурации студии тест двигателя:

C: \ Program Файлы (x86) \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ vstest.executionengine.exe.config

Добавить узел запуска так:

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    <requiredRuntime version="v4.0.20506" /> 
</startup> 
Смежные вопросы