This is with Visual Studio 2012 Ultimate Update 3.
I have a C# project that targets .NET 3.5. This project uses a C++/CLI dll which is also compiled for .NET 3.5.
I have noticed that if the C++ dll is compiled with Platform Toolset v110, then although I can add it to the C# project, and see the types in Intellisense, the compiler itself doesn't see any of the types. It complains that they do not exist and that I am missing an assembly reference. This does not happen if it is compiled with Platform Toolset v90.
If I then re-target the C# project to .NET 4 or 4.5, then it sees the types alright. The types do exist in the assembly and can be seen in the object explorer or Ildasm.
It therefore seems that the use of Platform Toolset v110 makes it impossible to use the dll from a .NET 3.5 project, even though the dll is compiled for .NET 3.5.
Is this normal and/or documented behavior? Is there any way around this other than either downgrading the C++/CLI project to Platform Toolset v90 or upgrading the C# project to .NET 4?