C# hnetcfg.dll引发BadImageFormatException
执行引用C# hnetcfg.dll引发BadImageFormatException,c#,windows-firewall,badimageformatexception,windows-firewall-api,C#,Windows Firewall,Badimageformatexception,Windows Firewall Api,执行引用c:\windows\system32\hnetcfg.dll的代码以从中管理windows防火墙,会在加载dll后立即导致BadImageFormatException 在NUnit中打开414KB DLL文件进行检查会引发相同的异常 我正在运行Windows7。有解决方案吗?已解决: …通过将目标平台设置为x86。解决了: …通过将目标平台设置为x86。是64位应用程序试图引用32位dll吗?如果是这样,请获取64位版本的dll,或者使用 corflags /32bit+ myApp
c:\windows\system32\hnetcfg.dll的代码以从中管理windows防火墙,会在加载dll后立即导致BadImageFormatException
在NUnit中打开414KB DLL文件进行检查会引发相同的异常
我正在运行Windows7。有解决方案吗?已解决:
…通过将目标平台设置为x86。解决了:
…通过将目标平台设置为x86。是64位应用程序试图引用32位dll吗?如果是这样,请获取64位版本的dll,或者使用
corflags /32bit+ myApp.exe
或者,正如您所说,只需内置32位(x86)它是一个试图引用32位dll的64位应用程序吗?如果是这样,请获取64位版本的dll,或者使用
corflags /32bit+ myApp.exe
或者如您所说,只需内置32位(x86)使用DLL的服务现在针对x86。如何确保它在32位和64位机器上运行?我需要两个不同版本的应用程序,还是可以只针对x86?我正在运行64位Windows,它似乎正常工作,但我需要正确测试它。如果(至少)您的一个依赖项是32位的,则您需要强制应用程序(服务)以32位模式运行。以x86为目标意味着它将在x86和x64上以32位模式运行,这可能就是您所需要的。如果您希望它在x64上运行64位,那么您需要源代码64位版本的dll,并且基本上有两个独立的可执行文件-一个用于x86(基于x86 dll构建),另一个用于x64(基于x64 dll构建)。使用dll的服务现在面向x86。如何确保它在32位和64位机器上运行?我需要两个不同版本的应用程序,还是可以只针对x86?我正在运行64位Windows,它似乎正常工作,但我需要正确测试它。如果(至少)您的一个依赖项是32位的,则您需要强制应用程序(服务)以32位模式运行。以x86为目标意味着它将在x86和x64上以32位模式运行,这可能就是您所需要的。如果您希望它在x64上运行64位,那么您将需要源代码64位版本的dll,并且基本上有两个独立的可执行文件-一个用于x86(基于x86 dll构建),另一个用于x64(基于x64 dll构建)。