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

Problems while trying to load my assembly info file

我正在使用 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
的完整路径 抛出错误:

Could not load file or assembly 'file:///D:\WorkOnD\Work\Adata\Project\EKKEROSS\entry\entry\My Project\AssemblyInfo.vb' or one of its dependencies. The module was expected to contain an assembly manifest.


我正在使用“.NET Framework 4.0.7”。
我的 OS 是 windows 7 Ulimate
我在 VS 2017
工作 在开发语言中 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/>

但是没有任何我想要的属性名称... 我想我的网站环境是旧版本。

AssemblyInfo.vb文件是源代码,需要包含在工程中编译成最终的.dll程序集

函数 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)

我的测试项目的 file/folder 结构如下,您应该适当地映射您的项目设置。

项目名称:VBUnitTest

项目目录是 .vbproj 文件所在的位置

项目目录:D:\Projects\Test Apps\VBUnitTests

Build输出路径默认为bin\debug,可以在Project Settingsdialog/window.confirmed/changed.

构建输出路径: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 图标,只有一个虚线文档图标,则该文件不包含在项目中。

项目中包含的文件

3

文件未包含在项目中

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