【问题标题】:Project does not run on other system without visual studio项目不能在没有 Visual Studio 的其他系统上运行
【发布时间】:2026-01-25 05:55:02
【问题描述】:

我创建了一个使用 devart Linq SQL 和 .Net 4.5 的项目。我遵循的步骤是,

  • 构建项目。
  • 已将 Debug/Release 文件夹复制到另一个系统。
  • 在这个系统中安装了 devart + dotnet4.5。
  • 尝试运行 .exe。

但是什么都没有发生,没有错误,没有任何东西的出现。 如果我在那个其他系统中安装了 VS,那么它运行顺利。 我无法确定问题所在。

【问题讨论】:

  • exe是做什么的?如果你在它构建的系统上运行它,会发生什么?
  • 它可以在构建它的系统以及任何其他安装了 Visual Studio 的系统中完美运行。
  • 让程序输出一些日志到某个地方的文本文件,然后运行程序并查看是否使用程序的输出创建了一个文本文件,这样你会更好地了解 exe你正在运行的实际上是在运行你的代码。

标签: c# linq sqlite visual-studio-2012 devart


【解决方案1】:

通过右键单击解决方案资源管理器上的项目包并发布来发布项目.. 转到已发布的文件夹并搜索名为 .deploy 的文件。将其重命名为 .exe 并尝试

【讨论】:

    【解决方案2】:

    要部署在LinqConnect 帮助下编写的应用程序,您无需在部署机器上安装 LinqConnect 产品的副本。您应该在全局程序集缓存 (GAC) 中注册运行时程序集 Devart.Data.SQLite.dll、Devart.Data.dll、Devart.Data.SQLite.Linq.dll 和 Devart.Data.Linq.dll 或将它们放在应用程序的 bin 文件夹。部署 ASP.NET 应用程序时,还需要有可用的 Devart.Data.Linq.Web.dll 和 App_Licenses.dll 程序集。

    JIC:这些程序集可以在安装 LinqConnect 的文件夹中找到。

    例如,在 Visual Studio 中打开您的应用程序,在解决方案资源管理器中将每个 Devart 程序集的 Copy Local 属性设置为 True,然后构建您的应用程序。之后,所有必要的 Devart 程序集将出现在应用程序的 bin 文件夹中(在您的情况下为 bin\Release)。确保您有这些文件可用:

    • Devart.Data.dll;
    • Devart.Data.Linq.dll;
    • Devart.Data.SQLite.dll;
    • Devart.Data.SQLite.Linq.dll。

    然后将 Debug/Release 文件夹复制到另一个系统并尝试再次运行该项目。

    【讨论】:

    • 帮助已满,但这不是我的问题! :)
    【解决方案3】:

    经过长时间的研究发现问题。我在第一种形式的构造函数中使用 DB,而我在“App.config”中的数据库文件路径和 Devart Linq 的“**.lqml”不是绝对路径并且是硬编码的,这是导致其他系统中的“应用程序无法正常工作”。刚刚做到绝对,现在工作正常。谢谢大家:)

    【讨论】:

    • 很高兴..它工作了..但只是一个硬编码的路径问题让你这么担心??为什么不能轻易诊断??
    • @Sayka 因为我已经创建了一次像“.\mydb.db”这样的路径。在 db 出现其他类型的错误后,我重新创建了 LINQ 连接,该连接再次使该路径为 HARDCODED。我忘记了这一点,正在寻找其他类型的 pf 错误! :)