【问题标题】:Do I really need to publish the project in Visual Basic 2010 Express?我真的需要在 Visual Basic 2010 Express 中发布项目吗?
【发布时间】:2015-04-30 21:24:06
【问题描述】:

我已经做了一些研究,我知道,你可以做 Build 事情并从 bin\release 获取 .exe 文件,就我而言,除了 .Net Framework 4.0 [当然,如果我没有使用任何其他需要导入的库] 我做了所有测试以确保我的 .exe 文件不需要其他任何东西,但这就是我发布此 .exe 文件的原因。

如果我只使用 .exe 并在其他计算机上共享它[没有 .NET 4.0],运行它是否会提示他们安装框架,或者我真的需要添加一个功能来检查 .NET在启动应用程序之前安装???

还有一个问题:我相信 .config、.xml 和 .pdb 已经嵌入在 .exe 文件中,所以我并不需要它们与文件位于同一目录中 [我尝试将它移动到另一个驱动器,它确实有效]我是对的吗?

【问题讨论】:

  • 简单的查找方法是将您的.exe 文件放入未安装.NET Framework 的计算机中,看看会发生什么。您不必对代码进行任何检查。如果该特定计算机缺少.NET,您的应用程序将警告最终用户。
  • @sam 这根本不是真的。你会收到bd23.https.cdn.softlayer.net/80BD23/142.4.51.106/blog/…

标签: .net vb.net visual-studio-2010 publishing


【解决方案1】:

仅运行应用程序不会提示用户安装正确的 .NET Framework。如果需要,您需要为您的应用程序创建一个设置。使用 ClickOnce、Visual Studio 安装项目或 Wix。在这三个中,Wix 是最适合未来的解决方案。

如果没有安装任何 .NET Framework,用户将会收到:

用户未安装 .NET 的可能性非常低。 If you're targeting 2.0 or 3.0, then Windows 7 and newer ship with that. And ever since Windows 8 was released, .NET 4.0 ships with it.

关于您的其他问题:假设您的程序集中没有嵌入任何内容。您的 .pdb、.exe.config 和您需要的任何其他项目都需要随应用程序一起提供。只有在 Visual Studio 项目设置中设置为“嵌入式资源”的文件才会嵌入到可执行文件中。无法嵌入 .pdb(调试符号)和 .exe.config 文件。

【讨论】:

  • 好的,我基本上讨厌我的设置需要“应用程序文件”文件夹这一事实,我想要一个可执行文件,所以我很难制作一个 VBS 代码来检查是否安装了 .NET,然后将其编译为 .exe 并嵌入我需要的文件,然后在安装了 .net 时启动它们,如果不显示错误消息,这是个好主意吗?你有什么建议
  • 那行得通。您还可以创建一个 2.0 框架应用程序作为引导程序,每个当前支持的 Windows 版本都已安装。
  • .exe.config、.xml 和 .pdb 通常不嵌入在 .exe 文件中。 .exe.config 是项目的 app.config 的副本。里面是什么?通常没有必要。如果它具有配置管理器设置,它们只会覆盖默认值,如果您使用设置设计器创建它们,则它们位于 .exe 中。 .xml 文件可能用于 API 文档,而 .pdb 用于调试。它们对最终用户来说不是必需的。
  • 除了您的应用程序的设置外,它还可能包含其他信息,例如数据库的连接字符串、.NET Framework 配置(支持的运行时、安全要求)等,这些信息不作为默认值存储,您的应用程序可能需要这些信息启动。如:msdn.microsoft.com/en-us/library/bbx34a2h%28v=vs.110%29.aspx
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-27
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多