2015-07-28 7 views
0

Я установил Visual Studio 2015 и пытаюсь обновить наши (32-битные) VS2010-проекты. Когда проект компилируется, он пытается запустить SGEN (Генерировать сериализации ассамблеи = о) изSGEN (x86): Сообщает мне, что .NET4.6 требуется

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\sgen.exe 

Либо из командной строки, или в Visual Studio, появляется это окно, и никаких параметров командной строки не представлены sgen:

enter image description here

Это .NET 4.6 устанавливается как часть VS2015 (освобождение). Я могу запускать 32-битные сборки .Net 4.6, поэтому он был установлен.

Использование «ремонта» на установке .Net4.6 не помогло устранить проблему или сообщить о каких-либо проблемах. Ключи реестра для .NET x86 и x64 кажутся звуковыми (и той же версией).

Помнить Microsoft Connect

+0

Вторая ошибка очевидна - вы не можете использовать инструмент x64 на dll x86 –

+0

Да, я знаю, отчаянно надеялись, что они перекроют 32-битную логику в инструменте x64. – GilesDMiddleton

+0

Что вы получаете, если просто запускаете sgen? Что такое номер версии? На моей машине это 4.6.81. Возможно, вам придется отремонтировать вашу установку. –

ответ

0

Оказывается, это была наша вина.

В рамках нашей реконструкции, наша сборки среды заметка сказала нам, чтобы добавить .config файл sgen который мы адаптированный для .net 4.6:

<configuration> 
<runtime> 
    <loadFromRemoteSources enabled="true" /> 
</runtime> 
<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.6"/> 
</startup> 
</configuration> 

Удаление этого явного supportedRuntime тег неподвижный вопрос.

-1

Обойти это указать ваш целевой сборки шаг в

C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.1A \ Bin \ NETFX 4.5.1 Инструменты