MC++ projects support

Hello,

Do you have any plans of adding support for MC++ projects to Resharper?
Certainly you can't just parse the source code
as it's written in C++, but you may load the compiled version of the
assembly -- just like VS does.

The current behavior is quite annoying: Resharper does not pay attention to
such assemblies at all. Thus all the
references from C# code to the types declared in MC++ are marked as errors.
This makes Resharper error highlighting
feature almost unusable.

Thanks.


4 comments
Comment actions Permalink

Maxim,

we definitely plan to support references to non-C# projects as if they were
references to compiled
assemblies in the nearest future.

"Maxim Babenko" <mab@shade.msu.ru> wrote in message
news:c3uuj0$bgg$1@is.intellij.net...

Hello,

>

Do you have any plans of adding support for MC++ projects to Resharper?
Certainly you can't just parse the source code
as it's written in C++, but you may load the compiled version of the
assembly -- just like VS does.

>

The current behavior is quite annoying: Resharper does not pay attention

to

such assemblies at all. Thus all the
references from C# code to the types declared in MC++ are marked as

errors.

This makes Resharper error highlighting
feature almost unusable.

>

Thanks.

>
>


0
Comment actions Permalink

I've installed build 75 of Reshaper and it works fine -- the compiled
versions of the assemblies are reloaded
automatically each time the assembly is recompiled.

Thanks, well done!

However, there's still a small problem. When a MC++ assembly gets loaded,
the exception report forms appears:

System.DllNotFoundException: Exception from HRESULT: 0x80131524.
at __DllMainCRTStartup@12(Void* , UInt32 , Void* )

The possible cause for this is the following. The resulting DLL contains
references to other (unmanaged) DLLs, which
cannot be normally found using PATH environment variable -- those DLLs are
only copied into the program directory
when the program is started.

Certainly this issue is minor because we can just ignore the exception. But
it seems also possible to load the referenced assemblies
without performing any kind of initialization procedures -- as all you it is
to examine metadata.

"Dmitry Shaporenkov (JetBrains)" <dsha@jetbrains.com> wrote in message
news:c3uv2i$ehn$1@is.intellij.net...

Maxim,

>

we definitely plan to support references to non-C# projects as if they

were

references to compiled
assemblies in the nearest future.



0
Comment actions Permalink

Maxim,

thanks for your feedback.

As for the exception you reported, is there any stack trace in the exception
report form? Could you please submit it?

"Maxim A. Babenko" <mab@shade.msu.ru> wrote in message
news:c4ua84$hjn$1@is.intellij.net...

I've installed build 75 of Reshaper and it works fine -- the compiled
versions of the assemblies are reloaded
automatically each time the assembly is recompiled.

>

Thanks, well done!

>

However, there's still a small problem. When a MC++ assembly gets loaded,
the exception report forms appears:

>

System.DllNotFoundException: Exception from HRESULT: 0x80131524.
at __DllMainCRTStartup@12(Void* , UInt32 , Void* )

>

The possible cause for this is the following. The resulting DLL contains
references to other (unmanaged) DLLs, which
cannot be normally found using PATH environment variable -- those DLLs are
only copied into the program directory
when the program is started.

>

Certainly this issue is minor because we can just ignore the exception.

But

it seems also possible to load the referenced assemblies
without performing any kind of initialization procedures -- as all you it

is

to examine metadata.

>

"Dmitry Shaporenkov (JetBrains)" <dsha@jetbrains.com> wrote in message
news:c3uv2i$ehn$1@is.intellij.net...

Maxim,

>

we definitely plan to support references to non-C# projects as if they

were

references to compiled
assemblies in the nearest future.

>
>


0
Comment actions Permalink

As for the exception you reported, is there any stack trace in the

exception

report form? Could you please submit it?


The stack trace consists of the only frame, which was already posted:

System.DllNotFoundException: Exception from HRESULT: 0x80131524.
at __DllMainCRTStartup@12(Void* , UInt32 , Void* )

Is seems that the exception is raised in DLL startup code as the referenced
unmanaged DLL
cannot be found. It's unclear how to prevent this DllMainCRTStartup from
being called
but could you just insert try/catch wrapper around the code which loads the
assembly?

Regards.


0

Please sign in to leave a comment.