【问题标题】:Can I use the Debug\program.exe as a standalone?我可以单独使用 Debug\program.exe 吗?
【发布时间】:2014-11-23 16:01:10
【问题描述】:

我想创建一个可移植的应用程序(没有安装程序),但据我所知,在 vs2013 中无法导出可执行文件,只有一个设置。所以我想知道是否可以从 Debug 文件夹中获取可执行文件。 (当然我会先运行/构建它以确保它是最新的构建)

这样做可以吗,还是有更好的方法从 vs2013 项目中获取独立的可执行文件?

此外,在这种情况下,您可以假设任何运行该程序的人都会安装适当的 .NET 框架等。

提前致谢!

更新: 我的项目不包含任何 DLL,感谢您的回答!现在一切都清楚了。

【问题讨论】:

  • 您可以从Debug/Release中获取exe,那么引用的dll会发生什么?你有没有添加任何项目参考?

标签: c# visual-studio build visual-studio-2013 portability


【解决方案1】:

这取决于您的应用使用什么。如果有额外的引用被复制到您的 bin 目录中,您也需要复制这些引用。同样,如果您将其他内容复制到输出目录中。但是,是的,如果您可以假设安装了正确版本的框架 - 以及任何 GAC 安装的依赖项的正确版本 - 那么“xcopy 部署”(简单地复制二进制文件)应该没问题。

请注意,您需要 PDB 文件,尽管它们有助于提供更好的堆栈跟踪 - 而且您可能希望发布 Release 二进制文件而不是 Debug 二进制文件。 (这取决于你的上下文,真的。)

【讨论】:

    【解决方案2】:

    只要您没有任何项目参考,从 Debug/Bin 文件夹中单独复制 exe 即可。如果您有其他项目对此 exe 项目的引用,但仍想在其他机器上执行此 exe(不复制引用的 dll),则可以使用ILMerge。使用此实用程序,您可以将 exe + 多个程序集合并为一个 exe。

    检查this SO 线程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-24
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多