代码之家  ›  专栏  ›  技术社区  ›  greenoldman

如何在C代码中嵌入文件内容?

  •  2
  • greenoldman  · 技术社区  · 14 年前

    问题

    2010年10月5日

    我想把这个文件(内容)嵌入到C#代码中,这样我就可以把这个文本赋给常量(字符串MyDate),然后再使用这个常量。

    背景

    我试图实现的是保持程序信息的同步——无论是在网站上还是在程序内部。

    • 非常简单
    • 光滑的

    但是如何在C代码中使用它(嵌入)?

    权变措施

    我已经知道一些解决方法,比如:

    • 不仅创建只有日期的文件,而且创建可以直接编译的小C段代码

    但我也不觉得两者都“干净”。我需要更光滑的东西:-)

    背景

    事实

    • 版本:生成日期,也是发布日期
    • 网址:Linux、HTML&PHP
    • 安装程序:高级安装程序

    我试图完全避免这个问题,并依赖文件的时间戳——它可以工作,因为只有一个弱点是在午夜之前构建exe,在午夜之后创建安装包。但是,将文件上载到ftp服务器会破坏这样的计划——必须确保ftp服务器支持时间戳修改,并且不能使用SFTP协议。

    提前谢谢你的帮助。

    3 回复  |  直到 14 年前
        1
  •  1
  •   Nate CSS Guy    14 年前

    要解决检查更新的问题,可以使用 WebClient 从站点加载页面,并检查版本信息。

        2
  •  6
  •   Daniel Ballinger    14 年前

    如果使用资源文件(.resx文件),则可以将其编译到程序集中。

    MSDN号: Adding and Editing Resources (Visual C#)

        3
  •  1
  •   Peter M    14 年前

    你的问题似乎有两部分:

    1) 自动生成程序的内部版本号/版本

    2) 有一个web服务,它将检查内部版本号是否是最新版本。

    第二部分是与你的网站分享信息。当你“发布”你的程序的最新版本时,这可能是一个手动事件。您可以编写一个“发布”程序,读取程序的MS内部版本号或嵌入式资源,并将其写入将用作web服务后端存储的内容。

    编辑

    再想一想。您只需要每次生成程序时递增的MS内部版本号。把它看作是索引到你网站上的数据的关键。程序将版本号发送给web服务,如果有较新的版本,则web服务返回较新的版本号及其发布日期。