有没有办法在.NET程序集中设置IsPreRelease?

时间:2012-07-15 03:33:47

标签: .net .net-assembly

FileVersionInfo class有一个IsPreRelease property

有没有办法通过AssemblyInfo或我的.NET程序集项目中的其他东西来获取该属性在生成的.dll文件中返回true?

2 个答案:

答案 0 :(得分:1)

如果您在项目/解决方案中特别需要它,那么经典路径是创建资源脚本(.rc)文件。这是一种家常,蹩脚的格式,但可行。缺点是你需要开始所有正确的设置,然后手动维护它们。

最简单的路径,如果您在构建后手动点击,可以使用ResEdit(或等效的),并将VS_FF_PRERELEASE添加到FileFlags字段中。

注意,FileFlagsMask字段应该已经有预发布标志或者与一批其他标记一起 - 这是必要的,但还不够。

此外,您可以使用resedit非常简单地生成启动.rc文件:

resedit -convert my.dll my.rc

如果您需要一个自动构建过程,那么可能有一个实用程序可以在命令行上进行有针对性的修改,然后您可以将其添加为项目上的构建后步骤建立有问题的.dll。

祝你好运!

答案 1 :(得分:0)

我会尝试使用resourcelib。这是一个读取和写入reosurces的库,包括Version (RT_VERSION)

<强>更新

我不确定你是否真的看过源代码。 但是在resourcelib中有一个名为FixedFileInfo.cs的类代表VS_FIXEDFILEINFO。在您可以阅读的文档中,IsPreRelease是标记dwFileFlags的值。