2010-10-25 44 views
45

我在這裏包含了一個包含在這裏(答案2)的c#.net 4.0應用程序中的directX播放器。問題是,當我嘗試初始化對象(即Player mPlayer = new Player())時,會發生此錯誤:混合模式程序集是針對版本'v1.1.4322'構建的

混合模式程序集針對運行時版本「v1.1.4322」構建,無法在4.0運行時沒有額外的配置信息。

任何人都知道它可能是什麼?

+0

重要提示:如果錯誤發生在錯誤列「File」爲'SGEN',那麼t他修復需要在'sgen.exe.'旁邊的'sgen.exe.config'文件中。例如,對於VS 2015,創建'C:\ Program Files文件(x86)\ Microsoft SDKs \ Windows \ v10.0A \ bin \ NETFX 4.6 Tools \ sgen.exe.config'。資料來源:[SGEN混合模式程序集](https://support.microsoft.com/en-us/help/2572158/sgen-mixed-mode-assembly-is-built-against-version-v2-0-50727-of -the-ru)最小文件內容:'' – ToolmakerSteve 2017-10-06 01:19:46

回答

65

您需要添加一個app.Config文件並將useLegacyV2RuntimeActivationPolicy設置爲true。

這是在.NET 4應用程序中使用混合模式CLR 2程序集所必需的。

+0

謝謝!什麼是混合模式clr 2程序集? – Alex 2010-10-25 21:26:30

+3

@Badescu對此也感到好奇,這裏有一個鏈接解釋:http://msdn.microsoft.com/en-us/library/x0w2664k.aspx – Badaro 2010-10-25 21:28:57

+0

謝謝你Badaro! – Alex 2010-10-25 22:01:14

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 2013-01-01 01:29:53

+0

我的榮幸,傑克。那時候,我不得不自己去尋找那個,所以我想到那裏有人可以使用額外的信息以及:) – 2013-01-07 04:54:39

+1

謝謝Gustavo – 2016-03-02 08:50:08

2

下面是可能的組裝配置:

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