有没有办法在VB.NET(Community 2013)项目及其路径,类型,版本等中获取所有引用?
我在stackoverflow上找到的东西可能与此有关,但是Imports似乎并没有自动完成任何我得到的东西:
进口EnvDTE
导入VSLangProj
Reading the list of References from All csproj project of solution sln (programmatically)
我的最终目标是寻找特定的DLL并显示版本。如果版本信息不易提取,我也可以使用GetFileVersionInfo()。理论上,我可以硬编码DLL引用的文件位置,但这看起来并不那么优雅。
(下面的评论提到,搜索列表也不优雅,是的,当然!也许问题应该改进为“我有一个已知的DLL加载(Frogtown.dll);我我不知道它在我的系统上的确切位置,但我知道它是在项目中指定的。有没有办法获得DLL版本,而不知道完整路径?)
发表第二条评论:
要清楚,有一个生命的,呼吸的VB.NET应用程序是用外部DLL(实际上是AForge.dll)构建的,我想知道它的版本基于它存储在C:\的位置程序文件(x86)\ AForge.NET \ Framework \ Release(我将在任何有代码的机器上安装它,因为一些应用程序可能会使用这些DLL。我不编写VB添加-in。
这里有一个相关的问题(我正在通过stackoverflow存档查看),因为项目的项目引用部分中有一个CopyLocal选项。目前,它被设置为'True',因此AForge.dll被复制到本地输出目录,但我正在尝试设置系统,因此CopyLocal设置为'False',并且只引用它(它存在的地方)在C:\ Program Files(x86)\ AForge.NET \ Framework \ Release)。
现在,我通过执行以下调用来获取代码的版本:
GetFileVersionInfo(CurDir()&“\”&“AForge.dll”)