我有一个标准的"类库"项目,其中包含一组用于在几乎所有新项目中导入的类.
我的工作方式是创建一个空的项目,这是我的主要项目的新解决方案,然后我添加到解决方案中提到的类库项目,这样我可以看到在Soluction资源管理器这两个项目,甚至可以看到的库代码或者在需要时更新它.然后我在我的主项目中编写代码并编译.
这导致我在编译时有2个文件:file*.exe和stdlib.dll
在某些情况下,我使用lib作为非常小的工具,我想以简单明了的方式重新分发,所以我想将我的类库项目生成的stdlib.dll嵌入到我的*.exe文件中.
我很确定必须有一个为什么要在我的Microsoft Visual Basic 2010 Express中执行此操作,但我不知道如何操作.
有什么建议吗?
非常感谢先进.
Ale*_*fie 13
将此代码添加到打开的ApplicationEvents.vb代码中.
Private Sub AppStart(ByVal sender As Object,
ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
AddHandler AppDomain.CurrentDomain.AssemblyResolve, AddressOf ResolveAssemblies
End Sub
Private Function ResolveAssemblies(sender As Object, e As System.ResolveEventArgs) As Reflection.Assembly
Dim desiredAssembly = New Reflection.AssemblyName(e.Name)
If desiredAssembly.Name = "the name of your assembly" Then
Return Reflection.Assembly.Load(My.Resources.STDLIB) 'replace with your assembly's resource name
Else
Return Nothing
End If
End Function
Run Code Online (Sandbox Code Playgroud)现在编译您的项目,您将依赖程序集作为单个文件合并到输出中.
请注意,有时您可能在输出文件夹中具有从属程序集.这是因为VS已预先配置为将所有从属程序集复制到输出路径.您可以通过转到项目属性的" 引用"选项卡来覆盖它,然后将依赖程序集的" 复制本地"属性设置为False.这将停止将程序集复制到输出目录.
| 归档时间: |
|
| 查看次数: |
22020 次 |
| 最近记录: |