Transistor
Transistor

Reputation: 103

Outlook interoperability

When i declare ,

Microsoft.Office.Interop.Excel.ApplicationClass excel =
         new Microsoft.Office.Interop.Excel.ApplicationClass();

I receive errors as

'Microsoft.Office.Interop.Outlook.ApplicationClass' cannot be embedded. Use the applicable interface instead.

and

The type 'Microsoft.Office.Interop.Outlook.ApplicationClass' has no constructors defined

What is the solution?

Upvotes: 10

Views: 7171

Answers (2)

Tom
Tom

Reputation: 186

Either use the interface:

Microsoft.Office.Interop.Outlook.Application outlook = new Microsoft.Office.Interop.Outlook.Application() 

or disable embedding of Interop types for this assembly (References -> Microsoft.Office.Interop.Outlook (right click) -> Properties -> Set 'Embed Interop Types' to False)

More info on the why can be found here: http://blogs.msdn.com/b/mshneer/archive/2009/12/07/interop-type-xxx-cannot-be-embedded-use-the-applicable-interface-instead.aspx.

Upvotes: 17

Emond
Emond

Reputation: 50672

Use this:

var outlook = new Microsoft.Office.Interop.Outlook.Application();

Upvotes: 2

Related Questions