【发布时间】:2014-02-18 23:28:04
【问题描述】:
这适用于 Visual Studio 2012 Ultimate Update 3。
我有一个面向 .NET 3.5 的 C# 项目。该项目使用 C++/CLI dll,该 dll 也是为 .NET 3.5 编译的。
我注意到如果 C++ dll 是使用 Platform Toolset v110 编译的,那么虽然我可以将它添加到 C# 项目中,并在 Intellisense 中查看类型,但编译器本身看不到任何类型。它抱怨它们不存在并且我缺少程序集引用。如果使用 Platform Toolset v90 编译,则不会发生这种情况。
如果我随后将 C# 项目重新定位到 .NET 4 或 4.5,那么它可以看到类型正常。这些类型确实存在于程序集中,并且可以在对象资源管理器或 Ildasm 中看到。
因此,使用 Platform Toolset v110 似乎无法使用 .NET 3.5 项目中的 dll,即使该 dll 是为 .NET 3.5 编译的。
这是正常和/或记录在案的行为吗?除了将 C++/CLI 项目降级到 Platform Toolset v90 或将 C# 项目升级到 .NET 4 之外,还有其他方法吗?
【问题讨论】:
标签: c# .net visual-studio-2012 c++-cli