我正在使用VS2005 C++/CLI庫的.NET 4應用程序。圍繞C++/CLI庫進行的測試是基於自定義控制檯的測試運行器,並且有點笨拙。我一直在嘗試使用nunit編寫一些新的測試。Nunit無法找到C++程序集
問題是基於控制檯的應用程序可以加載所有相關的程序集,但Nunit抱怨說它找不到程序集(例如System.Runtime.Serialization.SerializationException:無法找到程序集'msvcm80,Version = 8.0.50727.6195,Culture =中立,PublicKeyToken = b03f5f7f11d50a3a')。
我已經查明,基於控制檯的應用程序加載在C裝配:\ WINDOWS \ winsxs文件\ x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a \ mscvm80.dll和手動複製該文件到構建目錄和測試運行目錄。這沒有幫助。
Depends.exe告訴我,找不到GPSCV.DLL和IESHIMS.DLL,但這並不能阻止控制檯應用程序加載依賴關係,因此不確定這很重要。
有沒有人有任何疑難解答的Nunit測試依賴於舊的C++/CLI庫?
我不確定這是否相關,但是您的計算機上是否安裝了.NET 2.0?另外,您是否可以重建C++/CLI庫來定位.NET 4? – 2012-07-31 11:39:25
謝謝,我沒有在Windows 7程序和功能中安裝.NET 2.0運行時。我會安裝,看看它是否有效。對.NET 4進行重新編譯也很有意義(可能有一些可怕的其他.NET 2依賴項,但只有在我嘗試之後纔會知道)。 – 2012-07-31 12:27:06