While it is usually preferable to avoid mixing development environments for a project, sometimes we need to create a mixed platform solution. In a recent project, I needed to create a class library in C# to interact with a LabVIEW 2009 SP1 application.
I fired up Visual Studio 2010 and created a quick .Net 4 application. On attempting to create a constructor in LabVIEW, I got the error message: "The selected file is not a .NET assembly, type library or automation executable". This wasn't entirely unexpected as VS 2010 was released after LV 2009 SP1. So, I converted the project to .Net 3.5 and was on my way.
Unfortunately, I was greeted with "LabVIEW: Internal error. Wrong memory zone accessed." when I tried run my newly compiled dll. No amount of changing settings has any effect on the error message.
There is, however, a simple solution. Just make sure to select .NET Framework 3.5 when you create your class library in Visual Studio 2010.