相关疑难解决方法(0)

如何确定.NET程序集是为x86还是x64构建的?

我有一个任意的.NET程序集列表.

我需要以编程方式检查每个DLL是否是为x86构建的(而不是x64或任何CPU).这可能吗?

.net 64-bit x86 assemblies x86-64

312
推荐指数
8
解决办法
16万
查看次数

无法加载文件或程序集"xxx"或其依赖项之一.尝试加载格式不正确的程序

我刚刚将Subversion的修订版检出到了一个新文件夹.打开解决方案,我在运行时得到这个:

无法加载文件或程序集"xxxx"或其依赖项之一.尝试加载格式不正确的程序.

这与我前一段时间检查过的代码相同.为什么现在这样做?我现在也在xxx项目的bin文件夹中看到Debug x86而不仅仅是Debug.什么是Debug x86,为什么我不像我以前在bin文件夹中那样只调试Debug?

c#

185
推荐指数
6
解决办法
14万
查看次数

我如何解决"请确保该文件是可访问的,并且它是一个有效的程序集或COM组件"?

我正在用C#中的OpenCV构建一个项目.它需要一个名为的dll文件cvextern.dll.但是,当添加此文件作为参考时,会出现以下消息: -

无法添加引用"cvextern.dll",请确保该文件是可访问的,并且它是有效的程序集或COM组件.

我厌倦了搜索,过去两天我一直在寻找解决这个问题的方法

.net c# dll opencv

52
推荐指数
3
解决办法
11万
查看次数

在64位操作系统上运行IIS为32位与64位的优缺点是什么?

可能更适合"Rack Overflow",但从开发人员的角度来看,在64位Windows主机上运行IIS(同时提供传统的经典ASP和.NET)作为32位进程而不是64位进程有什么优缺点?

32/64(iis/server)超过32/32的主要优点似乎是每个IIS进程内存高达4GB的能力.

我期望32/64超过64/64的优势似乎是更容易访问传统的32位进程内DLL(我们仍有一个来自合作伙伴供应商,我们无法立即离开)给定较小的内存指针,相同代码的内存占用量较小.

64/64超过32/64或其他任何可以保证完全切换的性能优势吗?我在这做过任何错误的假设吗?

asp.net iis 64-bit 32-bit 32bit-64bit

38
推荐指数
2
解决办法
2万
查看次数

无法加载文件或程序集...或其依赖项之一.尝试加载格式不正确的程序(.resx文件)

我在Windows 7 64位上编译或尝试运行我的应用程序时收到以下错误消息.我浏览过互联网,很多人都有同样的错误信息.但是,没有一种解决方案可以解决我的问题或情况.我正在使用Visual Studio 2010.

错误信息

错误38无法加载文件或程序集'file:/// D:/ Projects/Windows Projects/Weld/Components/FileAttachments/FileAttachments/FileAttachments/bin/x86/Debug/FileAttaching.dll'或其依赖项之一.尝试加载格式不正确的程序.第1212行,第5位.D:\ Projects\Windows Projects\Weld\Weld\Weld.UI\frmMain.resx 1212 5 Weld.UI

描述

好的,所以我有两个项目,一个UI项目和一个FileAttachment项目.UI项目引用了FileAttachment项目.当我在"任何CPU"模式下编译UI项目时,一切正常,它运行.当我编译时,我认为'任何CPU'将以64位模式运行,因为那是我正在使用的平台.

我想运行/编译为x86,所以我尝试这样做.我将所有项目的配置更改为x86,并验证这些配置是否正在编译为x86.我编译并得到如上所述的错误.

我觉得很奇怪,它编译并在64位但不是32位工作正常.但是,当编译并作为"任何CPU"部署到用户时,如果这些用户拥有x86,它仍然可以正常工作,没有任何问题.我无法在我的电脑上编译或运行x86.同样,我可以编译为任何CPU并部署到32位PC没有任何问题.

这两个项目都没有引用任何64位的DLL文件.这两个项目都经过验证,目标是32位DLL文件和.NET Framework程序集.

我需要在32位模式下本地编译和运行它.我需要JIT编辑/继续等等.

以下是resx文件中导致问题的代码行:

 <data name="ImageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
....{mime data}....
 </data>
Run Code Online (Sandbox Code Playgroud)

验证resx文件是为.NET 2.0生成的,并且仅引用.NET 2.0程序集而不是.NET 4.0版本.

我该如何解决这个问题?我搜索了互联网,发现数百人有相同的错误信息,但问题不同.

.net visual-studio-2010 visual-studio

36
推荐指数
2
解决办法
3万
查看次数

以编程方式启用(安装)IIS

有时候有一台没有IIS的电脑.它已禁用或未安装.在这种情况下,我需要根据这些步骤自己启用它.

我正在尝试创建将检查IIS是否已启用(已安装)的应用程序,如果不是,则将启用(安装)它.

我试图从这里使用.msi文件安装IIS ,但它要求我在安装之前遵循这些stpes.

我尝试使用高级安装程序,但显然它安装了IIS 8.0 Express但仍然禁用了IIS.

在此输入图像描述

我需要做什么才能以编程方式启用IIS?如果我需要运行IIS安装文件来完成它(我找不到合适的文件)也是可以接受的.

.net c# iis installation installshield

9
推荐指数
1
解决办法
7870
查看次数

ASP.NET 4.0 Web App抛出"不正确的函数.(HRESULT异常:0x80070001)"

该应用程序是在运行Windows Server 2008 R2的计算机上的IIS 7.5中托管的ASP .NET 4.0中编写的.应用程序池使用集成管理Pipline模式.

当在几个没有任何明显共同点的不同页面上抛出以下异常.我自己无法重现异常,但上周在生产环境中发生了10次.

从堆栈跟踪我看到方法"HttpRequest.GetEntireRawContent"引发的异常,所以我想知道请求是否有问题,例如它太长或包含无效字符.

为了清楚起见,这个异常不会从我编写的代码中抛出,而是来自System.Web命名空间.所以我无法添加尝试...抓住它.

我会很高兴有关异常原因的任何想法或故障排除步骤以找到更多信息.

    Exception: System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Web.HttpException (0x80004005): An error occurred while communicating with the remote host. The error code is 0x80070001. ---> System.Runtime.InteropServices.COMException (0x80070001): Incorrect function. (Exception from HRESULT: 0x80070001)
    at System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect)
    at System.Web.Hosting.IIS7WorkerRequest.ReadEntityCoreSync(Byte[] buffer, Int32 offset, Int32 size)
    at System.Web.HttpRequest.GetEntireRawContent()
    at System.Web.HttpRequest.FillInFormCollection()
    at System.Web.HttpRequest.get_Form()
    at System.Web.HttpRequest.get_HasForm()
    at System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)
    at System.Web.UI.Page.DeterminePostBackMode()
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    at System.Web.UI.Page.HandleError(Exception …
Run Code Online (Sandbox Code Playgroud)

asp.net exception comexception iis-7.5

8
推荐指数
1
解决办法
1万
查看次数

C#DLL运行时错误 - 构建,运行,但在尝试使用DLL函数时抛出未处理的异常

我正在尝试编译此处显示的C#示例项目.它必须转换为VS2010,但工作正常.它构建,运行,但在尝试访问DLL函数时死亡.

我制作了一系列图片来展示我的步骤.如您所见,我设计的设备已连接并正确配置,但我真的认为这与该问题无关.在Form1.cs文件中,以下注释说明了如何使用DLL:

/*
PLEASE NOTE
You must add a reference to the FTChipIDNet.dll in order to use this sample
To do this:
1. Click on Solution explorer tab.
2. Right click the References tree.
3. Choose Add Reference option.
4. Browse to the FTChipIDNet.dll (as a personal preference I place this in my bin directory)
5. Click OK
*/
Run Code Online (Sandbox Code Playgroud)

我按照上面显示的说明修改了名称空间FTChipID的未定义引用.我还手动检查了对象浏览器,以确保GetNumDevices函数存在并且确实存在.

单击该按钮会产生以下错误:

DLLNotFoundException未处理:

无法加载DLL"FTChipID.dll":找不到指定的模块.(来自HRESULT的异常:0x8007007E)

在这行代码:

FTChipID.ChipID.GetNumDevices(ref numDevices);
Run Code Online (Sandbox Code Playgroud)

现在,你可能会想"错误说它需要FTChipID.dll,而不是FTChipIDNet.dll." 我想知道同样的事情.我有FTChipID.dll以及.lib和.h文件,但我不知道如何使用它们或它们需要在哪里才能让这个程序找到它们.我尝试添加对FTChipID.dll的引用,但VS2010说

无法添加对...\FTChipID.dll的引用.请确保该文件是可访问的,并且它是有效的程序集或COM组件.

我也不知道这意味着什么.有任何想法吗?提前致谢.

c# dll runtime

6
推荐指数
1
解决办法
3119
查看次数

在 .NET Core 3.1 中运行托管 C++/CLI 程序集时出现错误的图像格式

我非常兴奋地看到 .NET Core 3.1 和 Visual Studio 2019 的最新预览版增加了对托管 C++/CLI 项目的支持,因为这样的项目是在 .NET Framework 上保留特定项目的唯一想法。

因此,我安装了 Visual Studio Preview 16.4.0 Preview 4 以及“C++/CLI support for v142...”选项,正如预期的那样,我看到了新的 C++ CLR 模板并安装了 .NET Core 3.1 preview 2

我使用“CLR 类库(.NET Core)”模板创建了一个新项目,将文件复制到一个旧的托管 C++/CLI 项目中,稍作调整,并构建了程序集 - 太棒了!

但是,当我尝试在 .NET Core 3.1 中使用该程序集时,出现了以下致命异常:

Unhandled exception. System.BadImageFormatException: Could not load file or assembly 'MyAssembly, Version=2019.0.1.0, Culture=neutral, PublicKeyToken=null'. An attempt was made to load a program with an incorrect format.
File name: 'MyAssembly, Version=2019.0.1.0, Culture=neutral, PublicKeyToken=null'
   at TestApp.Program.Main(String[] …
Run Code Online (Sandbox Code Playgroud)

.net c++ managed-c++ .net-core .net-core-3.0

6
推荐指数
1
解决办法
1586
查看次数

你如何模拟IUnityContainer?

我正在尝试使用Moq 3.0模拟IUnityContainer

我收到BadImageFormatException,但调试时没有.从它的外观来看,我不是唯一遇到这个问题的人.

这里

它是Moq的注册问题

这里

我只是好奇,如果有人找到了解决方案...最接近我发现是一个很好的解决方案,使用RhinoMock由Roy Osherove

这里

但我真的很喜欢Moq!所以我真的不想切换到Rhino Mock,但如果必须的话,我会的

提前致谢!

c# tdd moq mocking unity-container

5
推荐指数
1
解决办法
3040
查看次数

AspNetCompiler - 尝试使用不正确的格式加载程序

我正在构建一个仅64位的Web应用程序(AssemblyA)并引用我已经构建的另一个应用程序,它也是64位(AssemblyB).

当我添加AssemblyB作为引用时AssemblyA,我在Visual Studio中得到以下编译错误:

ASPNETCOMPILER无法加载文件或程序集"AssemblyB"或其依赖项之一.尝试加载格式不正确的程序.

我的应用程序的平台目标设置都设置为x64,两个Target Framework设置都是.Net Framework 4.6Prefer 32bit is unchecked.

我尝试引用AssemblyBin的每个依赖引用AssemblyA,确保所有依赖引用的版本相同.

我使用过这个问题:如何确定.NET程序集是为x86还是x64构建的?确认所有引用的程序集是MSILAMD64.

我使用了aspnet_compiler.exe命令行工具并errorstack启用了选项,并获得了以下堆栈跟踪:

[BadImageFormatException]:无法加载文件或程序集"AssemblyB"或其依赖项之一.尝试加载格式不正确的程序.

at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName,String codeBase,Evidence assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark&stackMark,IntPtr pPrivHostBinder,Boolean throwOnFileNotFound,Boolean forIntro spection,Boolean suppressSecurityChecks)

在System.Reflection.RuntimeAssembly.nLoad(的AssemblyName文件名,字符串的代码库,证据assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark&S tackMark,IntPtr的pPrivHostBinder,布尔throwOnFileNotFound,布尔forIntros pection,布尔suppressSecurityChecks)

在System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(的AssemblyName assemblyRef,证据assemblySecurity,RuntimeAssembly reqAssembly,StackCrawlMark&stackMark,IntPtr的pPrivHostBinder,布尔throwOnFileNotFound,布尔forIntrospection,布尔suppressSecurityChecks)

在System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,Evidence assemblySecurity,StackCrawlMark&stackMark,IntPtr pPrivHostBinder,Boolean forIntrospection)

在System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,Evidence assemblySecurity,StackCrawlMark&stackMark,Boolean forIntrospection)

在System.Reflection.Assembly.Load(String assemblyString)

在System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName,Boolean starDirective)

[ConfigurationErrorsException]:无法加载文件或程序集"AssemblyB"或其依赖项之一.尝试加载格式不正确的程序.

在System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName,Boolean starDirective)

在System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomain …

.net c# compiler-errors compilation badimageformatexception

5
推荐指数
1
解决办法
647
查看次数