How should I fix "At least one of the arguments for '...' cannot be marshaled" error when using MSDASC.DLL
See the question and my original answer on StackOverflowThey are indeed tlbimp
warning. You can check that if you run
TlbImp.exe "C:\Program Files (x86)\Common Files\System\Ole DB\oledb32.dll"
from VS developer command prompt (or from a path like C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools
, adapt to your machine).
You should see the exact same warnings.
If you don't use the members listed in the warning, you're pretty much safe.
Otherwise, you can remove all COM reference warning if you edit the .csproj
and add the ResolveComReferenceSilent
key to the first PropertyGroup
element, like this:
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
...
<PropertyGroup>
...
<ResolveComReferenceSilent>True</ResolveComReferenceSilent>
...
</PropertyGroup>
The last solution is to use tlbimp.exe
manually and reference its output. There is an example here: Suppress tlbimp warnings in visual studio