2010-10-25 3 views
45

Я включил DirectX-плеер в приложение C# .net 4.0, которое включено здесь (ответ 2). Проблема в том, что когда я пытаюсь инициализировать объект (т. Е. Player mPlayer = new Player()), возникает эта ошибка:сборка смешанного режима построена против версии 'v1.1.4322'

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

Кто-нибудь знает, что это может быть?

+0

ВАЖНО: Если ошибка произошла с сообщением об ошибке «Файл» как «SGEN», то t он должен находиться в файле 'sgen.exe.config', рядом с' sgen.exe'. Например, для VS 2015 создайте 'C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v10.0A \ bin \ NETFX 4.6 Tools \ sgen.exe.config'. Источник: [SGEN Mixed mode assembly] (https://support.microsoft.com/en-us/help/2572158/sgen-mixed-mode-assembly-is-built-against-version-v2-0-50727-of -the-ru) Минимальное содержимое файла: '' – ToolmakerSteve

ответ

65

Вам необходимо добавить файл приложения.Config и установить useLegacyV2RuntimeActivationPolicy в true.

Требуется использовать сборки CLR 2 смешанного режима в приложении .NET 4.

+0

ah спасибо! что представляют собой сборки смешанного режима clr 2? – Alex

+3

@Badescu Также интересно узнать об этом, вот ссылка: http://msdn.microsoft.com/en-us/library/x0w2664k.aspx – Badaro

+0

спасибо Бадаро! – Alex

67

Как я исправила эту ошибку было путем изменения конфигурации узла «» на моем app.config от этого:

<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
</startup> 

к этому:

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
</startup> 
+8

Спасибо за дальнейшие разъяснения для тех из нас, кто не модифицирует файл app.config xml, чтобы знать, как установить это значение в true. +1 – Jack

+0

Мое удовольствие, Джек. В то время мне приходилось искать это сам, поэтому я подумал, что кто-то может использовать этот дополнительный бит информации :) –

+1

Спасибо Gustavo –

2

Вот возможная конфигурация сборки :

<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> 
    </startup> 
</configuration>