1.4 KiB
1.4 KiB
Marshal.SizeOf and Marshal.PtrToStructure overloads break dynamic code
Scope
Minor
Version Introduced
4.5.1
Source Analyzer Status
Available
Change Description
Beginning in the .NET Framework 4.5.1, dynamically binding to the methods Marshal.SizeOf
or Marshal.PtrToStructure
(via Windows PowerShell, IronPython, or the C# dynamic keyword, for example) can result in MethodInvocationExceptions
because
new overloads of these methods have been added that may be ambiguous to the scripting engines.
- Quirked
- Build-time break
Recommended Action
Update scripts to clearly indicate which overload shouldbe used. This can typically done by explicitly casting the
methods' type parameters as System.Type
. See this link for more
detail and examples of how to workaround the issue.
Affected APIs
- Not detectable via API analysis
Category
Core