2017-01-17 6 views
0

Я пытаюсь создать сборку нескольких файлов, создав .netmodules для соответствующих проектов Visual Studio. Эти .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. Скопируйте все исходные файлы для каждого визуального проекта студии в другую папку, исключая файл AssemblyInfo.cs.

  2. Compile все файлы из этой папки, чтобы произвести .netmodule.