Comments
4 comments
-
I noticed that the following discussion was initiated by a *similar* error to yours:
http://www.developmentnow.com/g/21_2003 ... l-type.htm
The solution was a little bit of refactoring to make the size of the array passed explicit, I think.
Maybe it helps as a workaround.
I'll continue to research this as it is rather interesting! -
The IL that smartassembly produces will differ slightly from the original (even with no features on(!)). It will use the long form of instructions whereas yours will use the short form (e.g. brtrue not brtrue.s).
http://en.wikipedia.org/wiki/List_of_CIL_instructions
I've a feeling this is *too* interesting lolz -
Also, what calling convention are using using? Smartassembly will use Standard I believe.
-
Hello thanks for all the info
The problem has been submitted to Redgate support at the moment and they are looking into the issue as they have a demo to work with. I will let you know what happens 8)
Paul
Add comment
Please sign in to leave a comment.
When I run my DLL through Smart Assembly with all features switched off(for testing purposes) I get the following error
System.Runtime.InteropServices.MarshalDirectiveException: Array size control parameter type not supported.
at System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegateInternal(Delegate d):
The dll works fine if I dont run it through Smart Assembly and all my other dll's and exe's work just fine. I was wondering what smart assembly does to the dll even when all settings are disabled?
Thanks for any help you can offer
Paul