在.NET 4中,加載.NET 2混合模式程序集需要在應用程序項目的app.config文件的startup element中設置useLegacyV2RuntimeActivationPolicy="true"
。在VS 2010中爲測試項目設置useLegacyV2RuntimeActivationPolicy
如何爲測試項目設置(以及是否有必要)?我得到的測試主機的一些非常奇怪的行爲,但僅適用於直接使用CLR 2混合模式組件的測試,所以我懷疑這可能是罪魁禍首...
接收實際的錯誤是:
測試適配器'UnitTestAdapter'在運行測試'MyTest'時引發異常。異常是由調用的目標引發的。嘗試讀取或寫入受保護的內存。這通常表明其他內存已損壞。
但是,它並未顯示爲測試失敗,而是顯示爲錯誤。異常似乎發生在單元測試適配器中,而不是我的代碼。
我會提交一個關於連接的錯誤 - 雖然我試圖縮小導致這種行爲的原因,但是很難說清楚。它似乎只發生在使用混合模式程序集標記[ExpectedException]的單元測試中。這可能是別的。 – 2010-02-18 21:13:23
在進一步調查中,QTAgent32的配置已經有了這個指定 - 這必須是其他問題。 *感到沮喪* – 2010-02-18 21:13:59
由於連接建議標記爲答案。剛剛提交:https://connect.microsoft.com/VisualStudio/feedback/details/534700/odd-failures-in-test-projects-with-clr-2-mixed-mode-assemblies – 2010-02-18 21:44:18