2012-06-05 14 views

Odpowiedz

10

Możesz przekazać właściwość AllowedReferenceRelatedFileExtensions do swojej kompilacji. Wartość właściwości powinna być rozdzieloną średnikami listą rozszerzeń plików. Od Microsoft.Common.targets:

<!-- 
These are the extensions that reference resolution will consider when looking for files related 
to resolved references. Add new extensions here if you want to add new file types to consider. 
--> 
<AllowedReferenceRelatedFileExtensions Condition=" '$(AllowedReferenceRelatedFileExtensions)' == '' "> 
    .pdb; 
    .xml 
</AllowedReferenceRelatedFileExtensions> 

Nie ma sposobu, aby dodać wartości do listy. Można jedynie dostarczyć całą listę, więc upewnij się, że zawierają domyślne np

MSBuild.exe MyProject.csproj /t:build "/p:AllowedReferenceRelatedFileExtensions=.pdb;.xml;.manifest" 
+1

dodałem AllowedReferenceRelatedFileExtensions elementem dziecka do elementu PropertyGroup do mojego skryptu build a także do pliku .csproj i nie widzi pliki, które są kopiowane (mam automatyczną kompilację uruchamianą przez TFS). Czy zakłada się, że pliki są danymi wyjściowymi projektu (np. Folderu bin)? Jeśli tak, czy wiesz, co powinienem zrobić, aby moja zautomatyzowana kompilacja skopiowała pliki, które nie są wyjściami projektu? –

+0

@JM Tak. MSBuild pobierze tylko pliki znajdujące się w katalogu wyjściowym obj projektu. Jeśli plik .manifest nie znajduje się w katalogu wyjściowym, prawdopodobnie będziesz musiał dodać docelowy post-build do pliku .csproj. –

Powiązane problemy