2014-06-27 16 views
6

Mam rozwiązanie przekonwertowane z VS2010 na VS2012. W wersji Release chcę, aby tworzyła pliki PDB i pełne symbole debugowania, ponieważ muszę uruchomić zdalne debugowanie w środowisku produkcyjnym.MSBuild nie buduje plików PDB

Ustawiłem więc Debug Info na full dla konfiguracji Release. I potwierdził także następne są w pliku manifestu projektu:

<DebugSymbols>true</DebugSymbols> 
<DebugType>full</DebugType> 
<Optimized>true</Optimized> 

Ale kiedy biegnę MSBuild, pakiet tworzy nie zawiera plików PDB. Jeśli jednak używam funkcji publikowania programu Visual Studio w konfiguracji Release, otrzymuję pliki PDB na docelowym serwerze sieci Web. Co może być nie tak z poleceniem Build?

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe "C:\MyWebApp.csproj" 
    /t:rebuild;package 
    /p:OutPath="C:\MyWebApp\obj" 
    /p:OutputPath="C:\MyWebApp\bin" 
    /p:Configuration=Release 
    /p:Platform=AnyCPU 

Próbowałem wyłączyć bit Optimized, ale to nie pomogło.

Odpowiedz

2

Możesz uzyskać dostęp do tego prosto z linii poleceń:

msbuild.exe "C:\\MyWebApp.csproj" /t:rebuild;package /p:OutPath="C:\\MyWebApp\\obj" /p:OutputPath="C:\\MyWebApp\\bin" /p:Configuration=Release /p:Platform=AnyCPU /p:DebugType=pdbonly

+0

Próbowałem to, ale nadal nie produkują plików PDB. i nie mam nawet 'ExcludeGeneratedDebugSymbol' w manifeście projektu wymienionym tutaj. http://stackoverflow.com/questions/15562311/msbuild-not-generating-pdb-files-in-release-configuration –

+0

Czy wypróbowałeś to bez dodatkowych właściwości ... (OutPath, OutputPath, ...)? –

+0

Jestem prawie pewien, że podczas cytowania wartości właściwości trzeba uciec od ukośników odwrotnych. C: \ Foo.csproj, gdy zacytowano, staje się "C: \\ Foo.csproj" –

4

spróbuj dodać

/P: DebugSymbols = true

/P: DebugType = pełna

Jeśli publikujesz aplikację internetową kationowych następnie należy również dodać:

/p: ExcludeGeneratedDebugSymbol = false

Powiązane problemy