2017-01-17 6 views
0

J'essaie de créer un assemblage de fichiers multiples en créant .netmodules pour des projets Visual Studio respectifs. Ces .netmodules sont en cours de création. Commande utilisée pour produire les modules:Exclure certains fichiers de la compilation dans le répertoire

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

Le problème avec la commande ci-dessus est le commutateur :/recurse:$(ProjectDir)*.cs, qui compile tous les fichiers du projet, y compris le fichier AssemblyInfo.cs. Ce fichier est compilé pour chaque projet.

A la fin quand je suis en train de construire un ensemble de fichiers multi en utilisant la commande suivante:

csc.exe /t:library /out:MultiFile.dll /addmodule:Foo.netmodule /addmodule:Boo.netmodule 

Je reçois l'erreur error CS7061: Duplicate 'GuidAttribute' attribute in 'Foo.netmodule'

S'il vous plaît Indiquez tous les moyens de créer l'assemblage de fichiers multi. Pour moi, je peux penser à deux façons, en supprimant les fichiers AssemblyInfo.cs du projet ou trouver un moyen d'exclure les fichiers spécifiques de la compilation dans le commutateur /recurse (je ne sais pas comment exclure le fichier).

Répondre

0

Bien qu'il serait agréable de passer un paramètre à CSC.exe pour exclure certains fichiers du commutateur /recurse. Je ne l'ai trouvé nulle part. Solution J'ai opté pour:

  1. Copiez tous les fichiers source pour chaque projet Visual Studio dossier, à l'exception du fichier AssemblyInfo.cs.

  2. Compile tous les fichiers de ce dossier pour produire .netmodule.