【发布时间】:2009-06-24 10:57:00
【问题描述】:
我打算编写一个小应用程序来解决个人问题,并可能让一些同事的生活更轻松。这是我所拥有的:
- 10年以上C领域经验
- 从 Win3.1 到 2000 天,在 C 中针对 Win16/32 API 进行编程方面的丰富经验。
- 我自己编写的 C 库已经完成了应用程序的 75%。
应用程序应该做什么:
- 打开一个二进制文件,将其输入到上述库中。
- 获取生成的文本输出并将其输入到新的 Excel 工作簿中。
- 应用一些格式。
- 与 Windows 环境完美集成(“打开方式...”中的可用性,使用注册表等记住一些内容)
- (可能稍后)在将 CSV 数据提供给 Excel 之前,通过查找 XML 文件中某些值的含义来解析它。
除了 XML 解析部分,在 C/Win32 中包含 COM / Office 自动化之前,我已经完成了所有这些工作。涉及大量样板代码,但它是可行的,结果将是一个非常小的应用程序,无需安装程序。
那么为什么还要考虑 C# / .Net?
- 没有解析 XML 的经验
- 承诺减少用于 Windows 和 Excel 的样板代码(是的,我已经使用 OWL、MFC、ATL 等完成了 C++,但我不再去那里 - 不是免费/有趣)
- 由于我也有使用 C++、VB(不是 .Net)和一点 Java/Objective-C 的经验,我想学习 C# 将全部与 .Net 库有关,而不是实际上与语言有关。
到目前为止我的考虑:
- 学习 .NET 可能会很有趣,并且可能会在更现代的环境中减少代码/第一步。
- 坚持我所知道的将在工作量和功能方面产生可预测的结果(可选的 XML 内容除外)
- VB 一开始看起来很棒,直到大约 80% 完成的项目,然后痛苦开始,用 C 编写 DLL 编码。我担心如果我选择 .Net,历史可能会重演。
我的主要目标是功能。努力是一个问题。 XML 解析是可选的。
请指教。
更新:我忘记明确提及的一件事是,我还担心该工具能否轻松部署给我的同事。使用 Win32,我很确定我可以提供一个小于 1Mb 的 EXE 文件,可以轻松地通过电子邮件发送,并且不需要安装。 .Net 没有那么多。我可以在 Visual Studio Express 中创建必要的 MSI 或其他任何东西(免费)还是需要第 3 方工具?
【问题讨论】:
-
我不确定在 Visual Studio Express 中创建 msi,但有免费的替代方法可以让您创建 msi。对于许多应用程序,您甚至不需要 msi 文件,您只需复制可执行文件本身,可能还包括应用程序使用的任何自定义 dll 文件。