C# 应用程序多字节与 Unicode
C# Application Multibyte vs. Unicode
我有一个 C# 应用程序,它使用 DLL 导入导入第 3 方 DLL。
我一直收到无法找到入口点错误。这是我们的 log4Net
的屏幕截图
Log4Net Screen Shot
我使用 dependency walker 来查看函数的确切签名,它似乎是正确的:
Dependency Walker Screen Shot
第 3 部分 DLL 是用 C++ 编写的。供应商一直说 C# 中的应用程序设置需要看起来像这样。
Vendor Screen Shot
我不明白这对 C# 应用程序意味着什么。供应商一直告诉我,我正在构建一个多字节应用程序。我不明白 C# 应用程序的多字节设置在哪里。
PS: 很抱歉,由于我工作的环境,我无法在这里post编码。
检查导入函数的声明。大概应该是这样的:
[DllImport("ITCtrl2005U.dll", EntryPoint = "SetParmFile",
SetLastError = true,
CharSet = CharSet.Ansi,
ExactSpelling = true,
BestFitMapping = true,
CallingConvention = CallingConvention.Cdecl)]
static extern bool SetParmFile(string pathName);
我有一个 C# 应用程序,它使用 DLL 导入导入第 3 方 DLL。
我一直收到无法找到入口点错误。这是我们的 log4Net
的屏幕截图Log4Net Screen Shot
我使用 dependency walker 来查看函数的确切签名,它似乎是正确的: Dependency Walker Screen Shot
第 3 部分 DLL 是用 C++ 编写的。供应商一直说 C# 中的应用程序设置需要看起来像这样。 Vendor Screen Shot
我不明白这对 C# 应用程序意味着什么。供应商一直告诉我,我正在构建一个多字节应用程序。我不明白 C# 应用程序的多字节设置在哪里。
PS: 很抱歉,由于我工作的环境,我无法在这里post编码。
检查导入函数的声明。大概应该是这样的:
[DllImport("ITCtrl2005U.dll", EntryPoint = "SetParmFile",
SetLastError = true,
CharSet = CharSet.Ansi,
ExactSpelling = true,
BestFitMapping = true,
CallingConvention = CallingConvention.Cdecl)]
static extern bool SetParmFile(string pathName);