Troubleshooting: OneNote 2010 and Visual Studio 2010 'interop assembly' issues

Microsoft highlight an issue developers might have if they try and program against the OneNote 2010 API with Visual Studio 2010, “an issue with interop assembly that shipped with VS2010, is just means that you should NOT reference the OneNote 14.0 object from .Net tab and instead reference it from COM tab. There’s a new […]

Microsoft highlight an issue developers might have if they try and program against the OneNote 2010 API with Visual Studio 2010, “an issue with interop assembly that shipped with VS2010, is just means that you should NOT reference the OneNote 14.0 object from .Net tab and instead reference it from COM tab. There’s a new feature in VS2010 where most PIAs are no longer embedded in app by default, this has been called “NOPIA.” However OneNote 2010’s typelib isn’t compatible with this feature and by default after you’ve added a reference to OneNote 2010 typelib you’ll see error. This was from 'GetHierarchy' method but you would see it with any method you call into OneNote. This’s due to new NOPIA option and you would need to turn if off to get things working again,” explains Microsoft. Turning off NOPIA/embed interop types for OneNote 2010: Find reference to Microsoft.Office.Interop.OneNote on the Solution Explorer; Click on it and view properties down below; Find value Embed Intero Types and change it from True to False; Recompile and you should be all set.

[Source]