Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法加载文件或程序集-如何进行故障排除?_C#_Dll - Fatal编程技术网

C# 无法加载文件或程序集-如何进行故障排除?

C# 无法加载文件或程序集-如何进行故障排除?,c#,dll,C#,Dll,我有一个应用程序,我已经工作了几个星期。周一,它开始出现这个错误的问题——似乎是出乎意料的 我试过: 使用作者提供的安装卸载和重新安装dll 我尝试过摆弄x64/x86、框架目标等 我上一次尝试是创建一个只有这个引用的全新应用程序,我得到了同样的错误 删除对已安装dll的引用,并引用提供的演示应用程序中的dll 我可以打开在VS中使用此dll的演示应用程序,该应用程序运行良好 System.IO.FileNotFoundException:'无法加载文件或程序集 “FLIRCommunica

我有一个应用程序,我已经工作了几个星期。周一,它开始出现这个错误的问题——似乎是出乎意料的

我试过:

  • 使用作者提供的安装卸载和重新安装dll
  • 我尝试过摆弄x64/x86、框架目标等
  • 我上一次尝试是创建一个只有这个引用的全新应用程序,我得到了同样的错误
  • 删除对已安装dll的引用,并引用提供的演示应用程序中的dll
我可以打开在VS中使用此dll的演示应用程序,该应用程序运行良好

System.IO.FileNotFoundException:'无法加载文件或程序集 “FLIRCommunicationsAdapter.dll”或其依赖项之一。这个 找不到指定的模块。'

错误发生在Program.cs中的以下行:

Application.Run(new Form1());
该dll不是直接引用的,而是另一个dll的依赖项。我比较了演示应用程序和我最近的简化测试应用程序之间的引用,它们是相同的

dll确实存在于引用属性中调用的位置

我尝试过fuslogvw,它报告说所有dll都已成功加载

任何帮助都将不胜感激

编辑 这是默认的Windows窗体应用程序,其中两个引用添加到Flir库中,一行尝试创建发现对象

我提到以下几点:

Analyzers
Flir.Atlas.Image
Flir.Atlas.Live
Microsoft.CSharp
System
System.Core
System.Data
System.Data.DataSetExtensions
System.Deployment
System.Drawing
System.Windows.Forms
System.Xml
System.Xml.Linq
我的代码:

using Flir.Atlas.Live.Discovery;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
        InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
        Discovery discovery;

        }
    }
}
如果删除“发现”,代码运行正常


不是的副本。如问题描述中所述,我尝试了fuslogvw,但没有结果。这也不是ASP项目。我没有C:\Windows \\NET\\Frase\V4.0.30319\临时ASP.NET文件目录。< /P>它可能是一个混合模式的程序集,包含了用VS2013构建的C++代码。msvcr120.DLL和msvcp120.DLL之外的大量非托管DLL依赖项,这对于在Unix上开始使用的代码来说是典型的。当卸载ab/使用PATH的另一个unixy应用程序时,swscale-3.dll、avcodec-56.dll等内容很容易意外丢失。使用Dumpbin.exe/imports查看它们。@Prasad Telkikar-这不是的副本。正如在文章中所述,我尝试了fuslogvw,但没有发现任何问题。@Hans Passant-在管理模式下从cmd提示符运行“dumpbin.exe/imports”会返回一行,上面写着“Summary”,没有其他内容。您可以尝试运行ProcMon来监视系统事件,如磁盘访问,并查找未找到的文件请求。您的问题可能是缺少或放置在错误路径中的非托管DLL。如果您找出丢失的内容并能够找到它们,请将它们与应用程序的entry.exe放在同一文件夹中,然后它们就会被找到。