这是一个真正的初学者问题,所以我提前道歉。
我安装了Visual Studio 2008 Standard,并希望创建一个小型Windows应用程序,在计算机上运行时不需要任何.NET框架。 VS 2008 Standard是否支持这样的功能?关于如何实现这一目标的任何指示都很棒。
提前致谢。
答案 0 :(得分:4)
当然,你绝对可以做到这一点。但是,您必须使用C ++编写应用程序。
要开始使用,请转到文件|新建,在项目类型下选择Visual C ++下的一个选项。对于最小的依赖项,我建议使用Win32选项之一。 “Win32控制台应用程序”和“Win32项目”选项似乎都会将您带到同一个向导,如果单击左侧的“应用程序设置”,则可以选择是创建控制台应用程序还是Windows应用程序。控制台应用程序将在cmd.exe等控制台窗口中运行,而Windows应用程序最初将没有UI(您必须自己执行UI)。
请注意,即使您不依赖于.NET运行时,您仍然需要在运行程序的计算机上使用CRT dll。 Visual Studio安装目录下的可再发行组件,如果安装在默认位置,则为C:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ redist。
答案 1 :(得分:4)
有第三方编译器,如Salamander(该死的昂贵)。
答案 2 :(得分:1)
如果我想轻松创建一个真正的独立Windows EXE应用程序,我会使用Delphi 。好事我不想那样做。 .NET太有用了,(至少版本2.0)已经到处都是 - 我很少遇到没有安装.NET的客户端机器,即使它不存在,安装程序也只有23 MB。
回到我的Visual Basic时代,我常常担心必须与我的应用程序一起部署VB运行时的额外负担。它永远不会成为一个重大问题。
答案 3 :(得分:1)
我遇到了同样的问题。这就是我解决的问题:转到“构建”选项卡。单击“Configuration Manager”。在弹出的屏幕上,单击“调试”下拉菜单,然后选择“发布”。点击底部的“关闭”。重新单击“构建”选项卡,然后单击“重建解决方案”。完成后,保存所有并退出。返回程序的主文件夹,单击“[文件夹名称]”,然后单击已创建的“release”文件夹。里面将有两个文件:.exe和“program debug database”文件,其中包含原始文件的名称程序就可以了。这两个文件一起可以在任何没有安装.NET库的计算机上运行。它就像我可以得到一个独立的.exe。希望有所帮助。
答案 4 :(得分:0)
VB 6不是基于.NET框架。 VB **。NET **是。
答案 5 :(得分:0)
那么Visual Studio 2008 Standard中的VB呢?是否为.NET平台重写了VB引擎?
答案 6 :(得分:0)
VB.Net与VB6几乎没有共同之处。如果您想了解差异程度,请参阅http://vb.mvps.org/vfred/breaks.asp
答案 7 :(得分:0)
此外,
应该有几种廉价(即相当便宜)的工具 这会将非网络应用程序的DLL链接在一起,例如:
此外,
有一个名为“Themida”的面向保护工具 www.oreans.com,如果与另一个一起购买 他们承诺,他们的工具名为“XBundler For Win32 / .NET” (引用)“要嵌入的DLL和数据文件 申请“。
Themida的售价为欧盟200加XBundler,售价为120欧元, 一个人可以同时拥有eu 320,这不是太便宜但是 也不太贵。
EXE崇拜者: - )
答案 8 :(得分:0)
我看到有人从C#或VB.net获得独立(不需要安装.net)exe的唯一方法是使用一个程序,用你的exe包装框架(至少,使用过的库)。那些花钱。 你找不到任何其他办法。这就像尝试在没有Java VM的情况下运行Java应用程序
答案 9 :(得分:0)
如果您静态链接c / c ++,则无需部署redist dll。你可以强制在项目设置中,如果我没记错的话,在编译命令中添加“/ MT”(不带引号)。然后他可以发送他的exe,他也不需要发送crt dlls。
当然,这意味着他不会在这些dll的Windows更新中获取新发布的功能,但我认为总是存在权衡。
- 编辑: 好的,我找到了添加该参数的开关;在属性页面上,配置属性 - > C / C ++ - >然后将代码生成“运行时库”设置为“非dll”选项。这两个是/ MT和/ MTd(调试)。