在部署C#项目时找不到程序集

本文关键字:找不到 程序集 项目 部署 | 更新日期: 2023-09-27 18:26:25

所以我在visualstudio中做了一个C#项目,有3个类库项目。调试时一切正常,但当我尝试部署时。数据库和程序安装得很好,但当我尝试打开应用程序时,会出现程序集或找不到文件的异常。他找不到的DLL是我项目中的类库。

在文件系统编辑器上,VS自动检测到依赖项,并将3个dll文件包含在应用程序目录中。我尝试排除这些dll,只添加类库项目的主输出(相同的dll),但仍然出现相同的错误。

我在安装时使用了一个自定义安装程序类来创建数据库。但我认为这与此无关。

在部署C#项目时找不到程序集

如果您已验证您的3个程序集确实已部署到目标文件夹中,它很可能是您的安装项目中没有包含的另一个依赖项。

  • 请仔细检查包含的程序集数量是否正确
  • 您也可以右键单击安装项目并刷新依赖项
  • 你有没有检查过安装项目中的依赖项没有被排除(错误地)
  • 此外,这也可能是.NET配置文件的问题。您是否依赖于仅在完整.NET配置文件中可用的程序集,而您的目标仅安装了客户端配置文件

在最坏的情况下,运行SysInternal过程监视器,这样就可以找出缺少哪个程序集。

您需要将所有不属于.net框架的dll都包含在可部署中。您的自定义安装程序将在安装时将这些文件复制到可执行文件的位置。

我通常会创建一个名为/deploy的文件夹,并将所有需要的dll复制到其中。我还将项目设置更改为输出到/deploy目录(而不是bin/)。生成后,此目录将包含运行应用程序所需的所有dll和其他资源。