0

我使用 ExcelDna 将 dll(VB.NET 项目的)转换为 xll。xll 中是否带有程序集版本?如果没有..我如何对 .xll 文件进行版本控制?一旦我这样做了,我必须在 VBA 代码中以编程方式获取程序集版本。非常感谢帮助!

4

1 回答 1

2

如果您只想要 .dll 的版本信息,您的代码可以执行类似的操作

Dim myAssemblyName As AssemblyName = _
    new AssemblyName(Assembly.GetExecutingAssembly().FullName)
Dim myVersion As Version = myAssemblyName.Version

要从 VBA 访问它,您可以在您的加载项中创建一个隐藏的 UDF,您可以使用Application.Run.

.xll 有它自己的版本信息,不会从您嵌入的 .dll 中自动更新。您可以使用“verpatch”版本资源工具来更新 .xll 的版本信息,正如Excel-DNA Google Group 中所讨论的那样

如果您想从 VBA 读取由“verpatch”更新的 .xll 版本,您需要从 VBA 调用 WIN32 版本 API,知识库文章 139491对此进行了讨论。

于 2013-01-24T10:19:38.437 回答