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

gre*_*man 2 c# deployment

问题

我有一个包含此类文本的文件(没有别的)

2010-10-05

我想将此文件(内容)嵌入到C#代码中,因此我可以将此文本分配给常量(字符串MyDate),然后使用此常量.

背景

我试图实现的是保持程序的相关信息 - 无论是在网站上还是在程序内.

解决方案必须是:

  • 死得很简单
  • 自动
  • 平滑

我想到的最简单的,就是保持文件"版本"与版本(实际发布日期,因为它更有意义恕我直言),这样的文件可以在网站上显示没有问题(PHP).我想我管理写的.bat文件很小,可以在每次构建时自动生成这样的文件.

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

我想要实现这个或替代解决方案,但不比这个更复杂.

解决方法

我已经知道了几个解决方法,比如:

  • 不仅可以创建具有日期的文件,还可以创建可以直接编译的小型C#代码
  • 在安装程序中包含此文件,并在安装后读取它,以获取版本信息

但是我也不觉得"干净".我需要更顺畅的东西:-)

背景的背景

我的程序一方面应该通知用户"嘿,有更新版本的程序",另一方面当浏览网页时,应该在页面上显示有关发布日期的信息.

事实

  • 版本:构建日期,也是发布日期
  • 网站:Linux,HTML和PHP
  • 程序:VS 2010,C#4.0,单个exe
  • 安装程序:高级安装程序

编辑 - 解决方案

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

所以,我最终创建了"版本"文件而没有嵌入它(因为我不知道怎么做) - 我在网站上用PHP脚本和执行时用C#代码读取内容.

预先感谢您的帮助.

Dan*_*ger 6

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

MSDN:添加和编辑资源(Visual C#)