今天我就来跟大家伙儿聊聊我最近捣鼓的一个东西——*。这玩意儿,说白,就是咱们用VS(Visual Studio)搞C#项目的时候,它自己给咱们弄出来的一个文件。我没太注意这东西,毕竟平时写代码也用不上它,感觉它就像个透明人似的。但是,最近我在整理我的那些个项目的时候,突然就对这个文件产生兴趣,就想搞清楚它到底是干啥的。
我用鼠标右键点开项目的属性,然后就看到“应用程序”那一栏,里面有个“程序集信息”。点进去一看,好家伙,原来这里面能改这么多东西!像什么标题、描述、公司、产品、版权等等,一大堆信息。我当时就想,这不就是给程序做自我介绍的地方嘛
为搞明白这些信息到底有啥用,我就开始动手实践。我把这些信息都填上我的个人信息,然后生成一个dll文件。我用鼠标右键查看这个dll文件的属性,还真能看到我刚才填的那些信息!看来,这个*文件,就是用来给程序集添加这些说明信息的。
但是,光知道这些还不够,我还想知道这些信息能不能在程序里面用。于是我就查查资料,发现可以通过一些代码来读取这些信息。我试着写几行代码,果然,能把程序集的标题、版本什么的都读出来!这下我就明白,这个*文件,不仅能给程序集添加说明信息,还能让程序自己在运行时读取这些信息,做一些配置相关的事情。
具体操作步骤如下:
- 打开项目:我在VS里打开一个现有的C#项目,或者也可以新建一个,反正都一样。
- 找到文件:在“解决方案资源管理器”里,我找到“Properties”文件夹,展开后就能看到*文件。
- 修改信息:双击打开*文件,里面有很多用方括号括起来的属性,比如[assembly: AssemblyTitle("我的程序")],我就可以在这里修改这些信息。
- 保存:改完信息后,别忘保存文件。
- 查看:重新生成项目,找到生成的dll文件,右键查看属性,就能看到刚才修改的信息。
- 应用:如果想在代码里读取这些信息,我发现可以通过反射来实现。
实践过程中踩的坑
这个过程中我也踩一些坑。比如,我发现有时候改*文件里的信息,但是生成的dll文件属性里还是老样子,没有更新。后来我才搞明白,原来是VS有时候会犯傻,没有及时更新。这时候,就需要重新生成一下项目,才能看到最新的信息。
我还发现一个叫做*的文件。这个文件有点特殊,它是通过添加链接的方式加入到项目里的。一开始我还纳闷,怎么有的信息在这个文件里改,在别的项目里也能看到效果?后来才搞清楚,原来这个文件是用来存放一些全局的程序集信息的,多个项目可以共享这些信息。
这回探索*文件的经历还是挺有意思的。虽然这玩意儿平时不怎么起眼,但它实际上还是挺有用的。通过它,我不仅能给程序集添加各种说明信息,还能让程序自己在运行时读取这些信息,做一些灵活的配置。下次大家伙儿在搞C#项目的时候,不妨也关注一下这个不起眼的小文件,说不定会有意外的收获!