2017-01-17 90 views
0

我正在嘗試通過爲各個Visual Studio項目創建.netmodules來創建多文件程序集。這些.netmodules正在成功創建。命令用於產生模塊:排除在編譯目錄中的某些文件

csc.exe "/out:$(ProjectDir)$(ProjectName).netmodule" "/t:module" "/recurse:$(ProjectDir)*.cs" 

使用上述命令的問題是開關:/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

儘管將CSC.exe的某些參數傳遞給/recurse開關可能會排除一些文件,我沒有在任何地方找到它。 解決方案,我選擇:

  1. 複製每個Visual Studio項目到不同的文件夾,不包括AssemblyInfo.cs文件中的所有源文件。

  2. 編譯所有從該文件夾中的文件製作.netmodule.

相關問題