我們在.net4.0中使用了C#DLL,但使用Microsoft.bcl,Microsoft.bcl.async,Microsoft.bcl.build ,Microsoft.net.http。這些庫來自nuget。我們有理由不遷移到.net4.5,但希望使用異步,等待這些bcl庫。 一切都在C#項目工作正常,但我們不可能在我們的C++互操作的項目添加此DLL,我們得到這個錯誤:在interop(C++託管)項目中使用C#dll(使用Microsoft.bcl構建)
當我們嘗試添加此引用到項目中,我們得到這個錯誤。
即使clr interop項目也在.net4.0和我們添加的DLL也在.net4.0我們最終得到這個錯誤。有沒有辦法解決這個問題?
Error in text format:
---------------------------
Microsoft Visual Studio
---------------------------
Could not add a reference to:
C:\xxx\xxx\xx\xxxHelper.dll
For one of the following reasons:
- Targets a higher version of the .NET Framework
- Not a .NET assembly
- Not a registered ActiveX control
---------------------------
OK
---------------------------
請始終提供錯誤的文本表示形式。不是爲了你,而是爲了避免重複而使用stackoverflow索引。你得到這個錯誤的原因可能是因爲C#項目是在C++之後建立的。嘗試先構建C#,然後手動構建C++。 – eocron
完成,感謝您的投入。 不,那不是我的情況。當我嘗試添加C#dll作爲對C++項目的引用時,出現此錯誤。 – rplusg
您是否嘗試過改變C#和C++應用程序的位數(x86/x64)? – Dmitry