16

Pracuję w Visual Studio 2008 w aplikacji ASP.NET, która została wdrożona na serwerze testowym. Chciałbym utworzyć kompilację bez informacji debugowania do umieszczenia w produkcji, ale menedżer konfiguracji pokazuje tylko "Debugowanie" w menu konfiguracji dla mojego projektu.Menedżer konfiguracji wyświetla tylko debugowanie

Moje pozostałe projekty Visual Studio pokazują "Debugowanie", "Release", "New ..." i "Edit ...".

Dlaczego nie widzę opcji wydania lub polecenia nowego i edytującego?

+0

pan rozwiązać ten problem – MonsterMMORPG

+0

@MonsterMMORPG szczegóły zatarły, było prawie dziesięć lat temu. Powodzenia. – Maitus

Odpowiedz

22

ASP.NET stron internetowych nie należy używać do konfiguracji menedżera określić, czy informacje o debugowaniu znajdują się w kompilacji. Musisz ustawić go w pliku web.config. Visual Studio nigdy nie zmieni debugowania na "false" dla ciebie automactially, o ile mi wiadomo.

Znajdź tę sekcję w pliku web.config i zmień go na „false”:

<!-- 
    Set compilation debug="true" to insert debugging 
    symbols into the compiled page. Because this 
    affects performance, set this value to true only 
    during development. 
--> 

<compilation debug="true"> 

Visual Studio zapyta, czy chcesz go zmienić z false na true, jeśli prowadzisz własną stronę internetową w IDE , ale niestety nie robi to na odwrót, jeśli chodzi o publikowanie (co wydaje mi się ważniejsze).

Jeśli masz wiele projektów w swoim rozwiązaniu, a przynajmniej jeden z nich obsługuje konfigurację wydania (taką jak DLL) - pojawi się na liście rozwijanej konfiguracji. Budowanie z wybraną wersją nadal nie ma wpływu na witrynę.

+0

Zmieniłem mój web.config mojego projektu WCF-Service, ale nadal nie widzę "Release" w moim menu rozwijanym. Czy są wymagane inne kroki? – slartidan

+0

@slartidan Jeśli ustawisz debug = "false", to wszystko, co musisz zrobić. Lista rozwijana nie ma znaczenia. –

+0

PS: W moim pliku konfiguracyjnym Visual Studio musiałem zmienić swoją "Stronę internetową" na "Projekt", aby móc zobaczyć i używać "Release" i "Debugowanie". Potrzebowałem go do transformacji web.config. – slartidan

0

Menedżer konfiguracji rozwiązania umożliwia usunięcie (lub obu) z tych domyślnych konfiguracji kompilacji (za pomocą opcji Edytuj ..., o której wspomniano powyżej). Założę się, że ktoś usunął konfigurację Release.

Możesz go odzyskać, odtwarzając go lub szybko skopiuj odpowiednie wiersze rozwiązania, które wykonujesz od podstaw. Plik diff pokazuje następujący:

domyślny plik rozwiązanie:

GlobalSection(SolutionConfigurationPlatforms) = preSolution 
    Debug|Any CPU = Debug|Any CPU 
    Release|Any CPU = Release|Any CPU 
EndGlobalSection 
GlobalSection(ProjectConfigurationPlatforms) = postSolution 
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Debug|Any CPU.Build.0 = Debug|Any CPU 
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Release|Any CPU.ActiveCfg = Release|Any CPU 
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Release|Any CPU.Build.0 = Release|Any CPU 
EndGlobalSection 

Rozwiązanie po ręcznie usunięty konfigurację wydania:

GlobalSection(SolutionConfigurationPlatforms) = preSolution 
    Debug|Any CPU = Debug|Any CPU 
EndGlobalSection 
GlobalSection(ProjectConfigurationPlatforms) = postSolution 
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Debug|Any CPU.Build.0 = Debug|Any CPU 
EndGlobalSection 
+1

Dzięki za sugestię. Mój plik rozwiązania nadal ma dwie linie do wydania, więc to nie jest problem. – Maitus

+0

doesnt forme – MonsterMMORPG

+0

Patrząc na to w przeciwny sposób, "czy dodanie tych linii do pliku .sln powoduje, że konfiguracje te pojawiają się w projektach w VS?" Odpowiedź brzmi nie. VS (co najmniej 2015) nie będzie używał tych nazw względem projektów w oknie programu Configuration Manager, chyba że plik projektu ma odpowiednią grupę PropertyGroup z dołączonym warunkiem: ''. Nazwa konfiguracji musi być literalna i musi znajdować się w pliku projektu, a nie zaimportowanym pliku celów. – Daz

1

Po sprawdzeniu najlepszej odpowiedzi i zmaganiu się z tym problemem przez kilka godzin, natknąłem się na tę odpowiedź. Moim rozwiązaniem było dodanie pełnej aplikacji: zwykle używam pustej strony internetowej, ale miałem ten sam problem, który nie był wyświetlany. Dodałem pełną aplikację do rozwiązania, a następnie pozwoliło mi wdrożyć mój projekt w ramach rozwiązania, ponieważ dodanie kompletnej aplikacji dodało również opcję "wydania" w menu rozwijanym. Bardzo doceniam porady, ale nie jestem pewien, dlaczego to narzędzie jest tak dziwaczne. Jeszcze raz dziękuję za Twoją sugestię.

0

proces został zmieniony, wystarczy zaznaczyć 2 dolne pola wyboru podczas części ustawień procesu publikowania, jak pokazano na obrazku. w folderze bin znajdziesz biblioteki dll.

image

nadzieję, że pomoże

eiran

+0

To nie rozwiązało problemu dla mnie – Hecatonchires