【问题标题】:Exec reference libraries执行参考库
【发布时间】:2015-02-24 21:12:46
【问题描述】:

我有一个引用an external library 的应用程序。我需要将它发送到没有 Visual Studio 的计算机并执行它,所以我想我会编译整个东西并发送可执行文件。问题是,虽然在我的计算机上解决方案运行得很好(即使我只运行 exec 文件),但在他的计算机上,它说外部库在他尝试执行时没有链接 - 它立即崩溃。

我如何发送一个即使他没有安装库也能工作的 exec 文件?会不会和DLL有关?

【问题讨论】:

    标签: c# visual-studio-2010 dll reference portable-executable


    【解决方案1】:

    是的,您还需要提供引用的 dll,否则将无法正常工作。 您可以使用 Visual Studio 功能,当您在解决方案资源管理器中找到参考时,单击您的非标准参考并在它们上选择“复制本地”属性。然后,当您构建和发布项目时,您的 bin/debug 文件夹中就会有相应的引用 dll。

    每当您有不属于 .NET 框架标准部分的外部依赖项时,您都必须将它们包含在您的其他文件中。

    【讨论】:

    • 我找到了复制本地属性,我该怎么办? (它目前设置为“true”),一旦我有了 DLL 文件,我是把它们和可执行文件一起发送,还是它自己工作?
    • @A.Abramov,当您将 Copy Local 设置为 True 时,这些引用将与 .exe 文件一起复制到您的 bin 或 debug 文件夹中。但是,您还必须将这些文件发送给您的客户。复制本地对于将所有必要的文件“集中在一个屋檐下”很有用。不做就得自己复制对应的dll。没有它,该软件可以在本地运行,因为它可以在您的本地 PC 中找到这些引用,但是如果您的客户希望运行它,他们也需要拥有这些文件。
    • 很好的答案,我明白一切(:在我给你应得的复选标记之前,还有最后一件事 - 有没有办法以编程方式做到这一点?
    • @A.Abramov,好吧,我想你可以通过编程来完成,但它会变得不必要的复杂。这样,只需在 Visual Studio 中检查一个复选标记即可。您不必为每个参考都这样做。只为您使用的那些 3rd 方库执行此操作。其他选项是设置一个安装程序,您将在其中指定所需文件,它将为您创建一个安装程序包,但这取决于您的要求等。最简单的方法显然是将这些 dll 手动复制到同一个目录,然后您很高兴去。
    猜你喜欢
    • 2011-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多