尝试加载我的程序集信息文件时出现问题

时间:2019-02-02 06:20:22

标签: vb.net visual-studio-2017 .net-assembly

我正在使用Visual Studio 2017建立网站。
当我开始我的项目时,我注意到没有任何程序集信息文件。
因此,我无法加载和检索所需的属性。
因此,我创建了一个名为My Project的子文件夹,并将其放入名为AssemblyInfo.vb的文件中,该文件看起来像这样:

<Assembly: AssemblyTitle("ffffffff")>
<Assembly: AssemblyDescription("ddddddddd")>
<Assembly: AssemblyCompany("ccccccccccc")>
<Assembly: AssemblyProduct("hhhhhhhhhhhhh")>
<Assembly: AssemblyCopyright("Copyright © gggggggggg")>
<Assembly: AssemblyTrademark("vvvvvvvvvv")>

<Assembly: ComVisible(True)>

<Assembly: Guid("53a50112-05e2-43c2-b98c-d86d10b00048")>
<Assembly: AssemblyVersion("1.0.27.3")>
<Assembly: AssemblyFileVersion("1.0.27.3")>
<Assembly: NeutralResourcesLanguage("en")>

从那时起,我在后面使用我的代码来get我需要的信息。
然后在

Dim asm As Object = Nothing
asm = Assembly.LoadFrom(AsseFile)

“AsseFile” 是将AssemblyInfo.vb
全路径 向我抛出以下错误:

  

无法加载文件或程序集   “文件:/// d:\ WorkOnD \工作\威刚\项目\ EKKEROSS \入门\入门\我的   Project \ AssemblyInfo.vb”或其依赖项之一。该模块是   应该包含一个程序集清单。


我正在使用“ .NET Framework 4.0.7”。
我的操作系统是Windows 7 Ulimate
我在2017年VS工作
在开发语言vb.net

有没有人可以帮助我?
注意
我期待所有其他解决办法答案,但我没有找到任何相关的解决我的问题
添加
我用来读取文件的代码是:

Dim asm As Object = Nothing
            asm = Assembly.GetExecutingAssembly().GetName().Version
            Dim FVI() As Object = Assembly.GetCallingAssembly.GetCustomAttributes(True)
            For n As Integer = 0 To FVI.Count - 1
                If FVI(n).TypeId.Name = "AssemblyCopyrightAttribute" Then
                    CopyRight = FVI(n).Copyright
                End If
            Next<br/>

但是没有我想要的任何属性名称... 我认为自己有一个较旧的网站环境。

1 个答案:

答案 0 :(得分:1)

AssemblyInfo.vb文件是源代码,需要将其包含在项目中并编译为最终的.dll Assembly

该函数Assembly.LoadFrom(及其变体)将加载一个已编译的dll大会和不源代码。重新指向变量AsseFile以指向已编译的程序集,您将离所需的解决方案更近了。请参阅:Assembly.LoadFrom Method

传递到Assembly.LoadFrom的路径将取决于程序集在文件系统上的位置,类似于:

AsseFile = "D:\WorkOnD\Work\Adata\Project\EKKEROSS\entry\entry\bin\debug\entry.dll"

然后您可以这样做:

asm = Assembly.LoadFrom(AsseFile)

对于我的测试项目中的文件/文件夹结构如下,你应该正确地映射您的项目设置。

项目名称: VBUnitTest

.vbproj文件所在的项目目录

项目导演:的 d:\项目\测试应用\ VBUnitTests

默认情况下,“构建”输出路径为bin\debug,可以在“项目设置”对话框/窗口中确认/更改。

构建输出路径: D:\ Projects \ Test Apps \ VBUnitTests \ bin \ Debug

对于我的测试项目,变量AsseFile将保留值:D:\Projects\Test Apps\VBUnitTests\bin\Debug\VBUnitTest.dll

现在,您写到您手动创建了My Project文件夹和AssemblyInfo.vb文件,是否也将这些新项目添加到了项目中?

要确认AssemblyInfo.vb文件已包含在项目中,请单击解决方案资源管理器(在我的屏幕截图中带有蓝色正方形的图标)工具栏上的View All Files选项。您应该看到AssemblyInfo.vb文件(如屏幕截图所示)旁边带有一个漂亮的VB图标。如果旁边没有VB图标,而只有点缀的文档图标,则该文件不包括在项目中。

Solution Explorer

项目中包含的文件

Included in project 3

项目中不包含文件

Not included in project

要将文件包含在项目中,请右键单击它,然后选择选项Include in Project

File right-click