我正在尝试通过为各个Visual Studio项目创建.netmodules
来创建多文件程序集。这些.netmodules
正在成功创建。用于生成模块的命令:
csc.exe "/out:$(ProjectDir)$(ProjectName).netmodule" "/t:module" "/recurse:$(ProjectDir)*.cs"
上述命令的问题是switch :/recurse:$(ProjectDir)*.cs,
,它编译项目中的所有文件,包括AssemblyInfo.cs
文件。为每个项目编译此文件。
最后,当我尝试使用以下命令构建多文件程序集时:
csc.exe /t:library /out:MultiFile.dll /addmodule:Foo.netmodule /addmodule:Boo.netmodule
我收到错误error CS7061: Duplicate 'GuidAttribute' attribute in 'Foo.netmodule'
请说明创建多文件程序集的任何方法。
就我而言,我可以想到两种方法,从项目中删除AssemblyInfo.cs文件或找到一种方法来排除特定文件在/recurse
开关中编译(不知道如何排除文件)。
答案 0 :(得分:0)
虽然将一些参数传递给CSC.exe
以从/recurse
开关中排除某些文件会很不错。我没找到它。
解决方案我选择了:
将每个Visual Studio项目的所有源文件复制到不同的文件夹,不包括AssemblyInfo.cs
文件。
编译该文件夹中的所有文件以生成.netmodule.