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

问题描述 投票:0回答:1

我使用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 \入门\入门\我的项目\ 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/>

但没有像任何属性的名字,我想......我想,我有一个旧版本O网站环境。

vb.net visual-studio-2017 .net-assembly
1个回答
1
投票

AssemblyInfo.vb文件的源代码,它需要被列入该项目,并编译到最终的.dll大会

功能Assembly.LoadFrom(及其变体)将加载一个已编译的dll大会和不源代码。再点variablie 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:\项目\测试应用程序\ VBUnitTests \ BIN \调试

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

现在,你写你自己手动创建My Project文件夹,也AssemblyInfo.vb文件,并添加了这些新的项目,以项目为好?

要确认AssemblyInfo.vb文件包含在该项目中,点击Solution Explorer中(在我的截图蓝色方形图标)的工具栏部分View All Files选项。您应该看到列为每截图,前面带一个漂亮的VB图标AssemblyInfo.vb文件。如果旁边有它,只是一个点缀文档图标没有VB图标,然后将文件不包含在项目中。

Solution Explorer

包括在项目文件

3

文件中未列入的项目

Not included in project

要在项目中的文件,右键单击它并选择选项Include in Project

File right-click

© www.soinside.com 2019 - 2024. All rights reserved.