0

我正在尝试从网络模块自动生成程序集。我尝试在此命令行中使用“al.exe”工具:al module1.netmodule module2.netmodule /target:library /out:assembly.dll。我的问题是我的程序集没有嵌入我的网络模块,而只是引用它们: - 如果我使用“ildasm.exe”工具打开我的程序集,我只能看到清单 - 如果我将我的程序集导入一个新的 Visual Studio 项目,它除非我复制程序集旁边的两个网络模块,否则不起作用

我尝试了“ILMerge”工具,它似乎在我的简单示例中运行良好:“ildasm.exe”工具显示了正确的类,并且该程序集可以在 Visual Studio 项目中使用。但是我害怕在我的项目中进一步面临一些限制(WPF)。

我的问题是: - 有没有办法使用“al.exe”或“csc.exe”从网络模块生成一个独立的程序集?- 如何真正将网络模块嵌入到程序集中而不仅仅是引用它们?- 我必须使用“ILMerge.exe”吗?- “al.exe”的真正用途是什么?“csc.exe”不能使用“/addmodule”选项做同样的事情吗?

4

1 回答 1

0

您是否尝试过 Link.exe - 它会完成这项工作。您可以在此处找到有关链接器的更多详细信息:

http://msdn.microsoft.com/en-us/library/y0zzbyt4(v=vs.71).aspx

链接工具作为 Visual Studio 的一部分安装。在我的机器上,Link.exe 安装在:C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64

适用于我的命令结构如下所示:

LINK             = "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\Link.exe"
LIBPATH1         = "$(PROGRAMFILES)\Microsoft Visual Studio 8\SDK\v2.0\lib"
LIBPATH2         = "$(PROGRAMFILES)\Microsoft SDKs\Windows\v7.0A\Lib"

$(LINK) /LIBPATH:$(LIBPATH1) /LIBPATH:$(LIBPATH2) /DLL /nologo /LTCG /out:$(DLL_NAME).dll $(EXT_MODULE1) $(EXT_MODULE2) $(EXT_MODULE3) ... 
于 2011-06-21T19:15:05.820 回答