Bewerken en doorgaan: “Wijzigingen zijn niet toegestaan ​​wanneer…”

Zelfs als ik een schoon WinForms-project maak, werkt Bewerken en Doorgaan niet en krijg ik de foutmelding:

Wijzigingen zijn niet toegestaan ​​als de debugger is gekoppeld aan een al actief proces of als de code die wordt opgespoord tijdens het bouwen of uitvoeren is geoptimaliseerd.

  1. De optie Bewerken en doorgaan is aangevinkt in Extra → Opties → Foutopsporing.
  2. Optimalisatie is niet ingeschakeld.
  3. Het lijkt erop dat er geen beheerde profiler is ingesteld.
  4. Ik werk in de foutopsporingsmodus
  5. Ik werk op x64 CPU en Windows XP 32-bit, maar het instellen van het platformdoel op x86 in plaats van AnyCpu helpt niet.
  6. De installatie van Visual Studio repareren helpt niet.

Ik vond dit artikelook op MSDN website:

Niet-ondersteunde scenario’s

Bewerken en doorgaan is niet beschikbaar in de volgende foutopsporingsscenario’s:

  • Foutopsporing op Windows 98.

  • Mixed-mode (native/managed) debugging.

  • SQL-foutopsporing.

  • Debuggen van een Dr. Watson-dump.

  • Code bewerken na een onverwerkte uitzondering, wanneer de optie “Ontwikkel de call-stack bij onverwerkte uitzonderingen” niet is geselecteerd.

  • Foutopsporing in een ingesloten runtime-toepassing.

  • Foutopsporing in een applicatie met Attach to in plaats van de applicatie uit te voeren met Start vanuit het Debug-menu.

  • Foutopsporing in geoptimaliseerde code.

  • Foutopsporing in beheerde code wanneer het doel een 64-bits toepassing is. Als u Bewerken en Doorgaan wilt gebruiken, moet u het doel instellen op x86. (Projecteigenschappen, tabblad Compileren, instelling Geavanceerde compiler.)

  • Foutopsporing in een oude versie van uw code nadat een nieuwe versie niet kon worden gebouwd vanwege buildfouten.

Maar ik kan op elk item in deze lijst ‘Nee’ antwoorden.

Voorheen werkte het, maar enkele dagen geleden werkte het niet meer, en ik weet niet wat de reden zou kunnen zijn.


Antwoord 1, autoriteit 100%

###Andere toepasselijke oplossingen#

Hieronder staat een onvolledige, ongeordendelijst met mogelijke oplossingen die u kunt proberen als uprobeert om Edit & Ga snel verder.*

  • Zorg ervoor dat u zich in de Debug-modus

    bevindt

  • Zorg ervoor dat u geen proces met gemengde modi start

  • Probeer het CPU-doel in te stellen op x86in plaats van AnyCPU(op x64-machines)

  • Deselecteer het selectievakje Code optimaliserenvoor Debug Modein Project Properties->Debug

  • Deselecteer het selectievakje Code optimaliserenin Projecteigenschappen->Build

  • Deselecteer Optimalisaties inschakelenin Geavanceerde compilerinstellingen

  • (ASP.NET) Controleer antwoord van de nachtcoderals dit het geval is

  • (ASP.NET) Controleer dit antwoord (door matrixugly)als dit het geval is

  • (ASP.NET) Zorg ervoor dat u Bewerken en doorgaanheeft ingeschakeld op het tabblad Web(vs2010)

  • (ASP.NET) Ga naar Eigenschappen > Web > Servers, en zorg ervoor dat Inschakelen en doorgaanis aangevinkt onder Visual Studio Development Server gebruiken.

  • (ASP.NET WebAPI) Zorg ervoor dat u bent gestopt in de methode van de controller met behulp van een breekpunt, voordat u het probeert te bewerken.

  • (vs2017) Ga naar Extra > Opties > Foutopsporingen deselecteer(deselecteer) ‘Bewerken en doorgaan’. Dit is eigenlijk het tegenovergestelde van het ‘conventionele’ advies (zie enkele andere punten in dit bericht). Het staat u niet toe om daadwerkelijk wijzigingen aan te brengen in uw lopendeprogramma (dwz het wisselt de codewijzigingen die u aanbrengt niet uit) – het staat u gewoon toe uw code te bewerken (dwz het voorkomt dat vervelende bericht en “vergrendelt” uw editor).

  • Ga naar Extra > Opties > Foutopsporing > Algemeenen zorg ervoor dat Vereisen dat bronbestanden exact overeenkomen met de originele versieis uitgeschakeld.

  • Vink Windows debug heap allocator inschakelen aan (alleen native) [VS Community 2017]

  • Gebruik je Microsoft Fakes? Het remt Edit & Ga door.

  • Dood alle *.vshost.exe-instanties door Processtructuur beëindigente selecteren in Taakbeheer. VS zal een correcte instantie opnieuw genereren.

  • Verwijder alle breekpunten met Debug->Delete All Breakpoints

  • Inschakelen en doorgaanbestaat in beide Tools > Opties > Foutopsporingmenu en ook in de Projectinstellingen. Zorg ervoor dat u beide plaatsen controleert. bewerken & Doorgaan wordt niet ondersteund met de uitgebreide Intellitrace-instelling.

  • Zorg ervoor dat Debug-infoin Projecteigenschappen > Bouw > Geavanceerd > Uitgang > Foutopsporingsinfois ingesteld op Volledig

  • Sommige plug-ins kunnen interfereren. Controleer dit door de installatie uit te schakelen/te verwijderen en vervolgens de andere oplossingen opnieuw te proberen.

  • Als je niet genoeg oplet, kan de fout die je krijgt tijdens het oplossen van dit probleem veranderen in iets anders dat gemakkelijker te diagnosticeren is. bijv. Een methode die een lambda-expressie bevat, kan bewerken en doorgaan niet ondersteunen.

  • Zorg ervoor dat de systeemvariabele COR_ENABLE_PROFILINGniet is ingesteld op 1. Sommige profilers stellen dit in bij het installeren en laten het zo na het verwijderen. Open een opdrachtprompt en typ setom snel te controleren of uw systeem getroffen is. Als dit het geval is, verwijdert u de variabele of stelt u deze in op 0:

    • Zoek in Windows 8 en hoger naar Systeem(Configuratiescherm).
    • Klik op de link Geavanceerde systeeminstellingen.
    • Klik op Omgevingsvariabelen.
    • Verwijder COR_ENABLE_PROFILING
  • Let op niet-ondersteunde scenario’s(zoals vermeld in de vraag) en dat niet-ondersteunde bewerkingen.


* met ‘jij’ bedoel ik de bezoeker van de pagina die met zijn hoofd op een toetsenbord hamert om de oplossing te vinden.


Voel je vrij om dit antwoord te bewerken om je tijdelijke oplossing toe te voegen als deze hier niet wordt vermeld!


Antwoord 2, autoriteit 29%

Als u een ASP.NET-toepassing debugt, gaat u naar eigenschappen > web > Servers, en zorg ervoor dat “inschakelen en doorgaan” is aangevinkt onder Visual Studio Development Server gebruiken.


Antwoord 3, autoriteit 28%

Ik heb eindelijk het probleem kunnen oplossen: GALLIO VERWIJDEREN

Gallio lijkt nogal wat ruwe randen te hebben en het is beter om MbUnit 3.0 niet te gebruiken, maar het MbUnit 2.0-framework te gebruiken, maar de gallio runner te gebruiken, die u uitvoert zonder te installeren vanuit het installatieprogramma (dat ook een visuele studio-plug-in installeerde) .

Overigens had ik het probleem zelfs nadat ik de Gallio-plug-in had “uitgeschakeld”. Alleen het verwijderen loste het probleem op.

PS. Bewerkt door nightcoder:
In mijn geval het uitschakelen van TypeMock Isolator(spottend raamwerk) heeft uiteindelijk geholpen! Bewerken & Doorgaan werkt nu!!!

Hier is het antwoord van TypeMock-ondersteuning:

Na verder in de bewerking te hebben gekeken
en doorgaan met uitgeven en praten
erover met Microsoft, we bereikten
de conclusie dat het niet kan worden opgelost
voor isolator. Isolator implementeert a
CLR-profiler, en volgens onze
onderzoek, zodra een CLR-profiler is
ingeschakeld en bijgevoegd, bewerken en
doorgaan wordt automatisch uitgeschakeld.
Het spijt me te moeten zeggen dat dit niet langer is
beschouwd als een bug, maar eerder als een
beperking van Isolator.


Antwoord 4, autoriteit 14%

Ik had hetzelfde probleem. Ik heb zelfs VS 2008 opnieuw geïnstalleerd, maar het probleem ging niet weg. Toen ik echter alle breekpunten verwijderde, begon het te werken.

Debug->Delete All Breakpoints

Ik denk dat het gebeurt omdat ik een ASPX-pagina had verwijderd die pauze punten in zijn code had, en toen een andere pagina met dezelfde naam heeft gemaakt. Dit verwarde waarschijnlijk de vs 2008.


5, Autoriteit 6%

een paar dingen om te controleren

  • Zorg ervoor dat uw compilatie is ingesteld op Debug versus RELEASE
  • Zorg ervoor dat u geen MIXED MODUS-proces lanceert
  • Als u op een 64-bits machine moet zorgen voor het CPU-doelwit op x86 in plaats van AnyCPU

bewerken

Ik geloof niet dat dit belangrijk is, maar zorg ervoor dat het hostingproces is ingeschakeld voor het doelplatform. Waarschijnlijk zal het niet helpen.

Als het weerspiegelt voor nieuwe projecten, dan is het misschien iets nog subtieler. Ik zou het volgende proberen.

  • back-up hkcu: \ software \ wow6432Node \ VisualStudio \ 9.0 (misschien gewoon hernoemen)
  • Verwijder dezelfde sleutel
  • Probeer de repro opnieuw

6, Autoriteit 6%

Geen van de bovenstaande oplossingen werkte voor mij (draait op een 64x-machine).

Ten slotte klikte ik op 'advanced compiler settings'en ongecontroleerd 'enable optimizations‘ en ik kan nu door de code en bewerken gaan terwijl u debuggen .


7, Autoriteit 5%

Voor mij, om een ​​reden dat ik het niet begrijp, werd de instelling “debug-info” genereren in de “Advanced Compiler-instellingen” ingesteld op “PDB-ALLEEN” in plaats van “FULL”.

Standaard is deze parameter altijd ingesteld op “Volledig”, maar een mysterieuze Poltergeist heeft deze parameter op gisteravond gewijzigd. 🙂

P.S. Ik ben in Visual Basic .NET met Visual Studio 2010


8, Autoriteit 5%

Als uw zorg is met een ASP.NET-app, zorg ervoor dat u bewerkt en doorgaan met ingeschakeld op het tabblad Web (VS2010). Er was ook een afzonderlijke instelling voor ASP.NET Debugging in eerdere versies.

groeten,

Adam.


9, Autoriteit 5%

Ik vond dat, ook al onder Projecteigenschappen Build & AMP; Debug-tabblad is ingesteld op debug en alle andere instelling zijn correct, ik krijg nog steeds het bericht, maar na het graven van nog meer
Kies onder het menu Build-menu Configuraties Manager … en zorg ervoor dat de foutopsporing op twee plaatsen daar ook is geselecteerd. Ga figuur … Hoeveel verschillende plaatsen hebben ze nodig om debug te stellen ?????? Ook al stel je projectconfiguratie in om te debuggen, dan onder Build – Manager is het niet gewijzigd, dus je hebt dezelfde instelling daar gewijzigd als projectconfiguratie – lijkt weer een Microsoft-probleem …….


10, Autoriteit 5%

Dit probleem is het gevolg van IntellItRace-instelling

Als IntellItRace is ingeschakeld, zorg er dan alleen dat IntellItRace-evenement wordt gecontroleerd

Anders staat dit niet toe Bewerken en doorgaan.

Als u op IntelliTrace-opties klikt, ziet u de waarschuwingen.


11, Autoriteit 5%

Na opname heeft me geholpen met VS2010:

Ga naar Tools, Opties, Debugging, Algemeen en zorg voor source-bestanden die precies overeenkomen met de originele versie “is uitgeschakeld.


12, Autoriteit 4%

Dat gebeurt wanneer de foutopsporing geen breakpoint heeft geraakt of je niet hebt geraakt en alles (pauze). Het kan niet zo eenvoudig zijn?


13, Autoriteit 4%

De fout zegt dat een mogelijke oorzaak is: “de foutopsporing in de code is geoptimaliseerd tijdens het bouwen of uitvoeren”. Ga naar Projecteigenschappen->Debug en schakel het vakje Code optimaliseren uit voor de foutopsporingsmodus.


Antwoord 14, autoriteit 4%

Ik had dit probleem in Microsoft Visual Studio 2008 en de oplossing is eenvoudig. wanneer u uw project uitvoert, stel dan in “Debug”-modus in en niet “Release”. De oplossing voor andere mensen kan handig zijn.


Antwoord 15, autoriteit 3%

Als ik een nieuw project maak, werken bewerkingen tijdens het debuggen niet. Als ik een nieuwe website maak, werken de bewerkingen tijdens het debuggen zoals verwacht.


Antwoord 16, autoriteit 3%

Ik kwam dit vandaag tegen – het blijkt dat als Debug Info is ingesteld op alleen pdb (of geen, denk ik) Bewerken en Doorgaan niet meer werken.

Zorg ervoor dat je Debug Info eerst op “full” staat!

Projecteigenschappen > Bouw > Geavanceerd > Uitgang > Foutopsporingsinformatie


Antwoord 17

In mijn geval gewoon resetten naar de standaard debugger-instellingen en IntelliTrace-> alleen intellytrace-gebeurtenissen helpen


Antwoord 18

Enkele dingen die leken te helpen bij het gebruik van VS2010:

  • ga naar Tools, Options, Debugging, General en zorg ervoor dat “Require source files to exact match the original version” is uitgeschakeld.
  • meerdere .vshost.exe-instanties kunnen overblijven van b.v. de VS-foutopsporing loskoppelen van een gestopt proces. Dit verstoort ook breekpunten en compileert. Gebruik Taakbeheer, tabblad Processen om alle exemplaren van .vshost.exe te beëindigen door met de rechtermuisknop op elk exemplaar te klikken en Processtructuur beëindigen te selecteren. VS zal een nieuwe instantie maken.

Antwoord 19

Ik heb een dataset uit mijn project verwijderd omdat ik deze niet heb gebruikt. Daarna kon ik het programma aanpassen tijdens het debuggen.


Antwoord 20

Ik heb alle wijzigingen aangebracht die in elk ander antwoord worden genoemd en geen enkele werkte. Wat heb ik geleerd? Inschakelen en doorgaanbestaat in zowel de Tools > Opties > Debugging menu en ook in de Project instellingen. Nadat ik beide had aangevinkt, werkten Inschakelen en Doorgaan voor mij.


Antwoord 21

Het lijkt onlogisch, maar de enige manier was het uitschakelen van bewerken en doorgaan vanuit VS 2017-opties… Toen begon AspNet bewerken en doorgaan te werken…


Antwoord 22

wat voor mij werkte, was het uitschakelen van “Gebruik beheerde compatibiliteitsmodus” onder

Extra -> Opties -> Foutopsporing

TBN: het aan- of uitvinken van “Vereist bronbestand dat exact overeenkomt met de originele versie” lijkt de E&C niet te beïnvloeden

Hopelijk kan dit helpen.


Antwoord 23

Bewerken inschakelen en alleen doorgaan met werken met IIS Express.
Werk niet in Local ISS of External Host.


Antwoord 24

Ik voeg mijn antwoord toe omdat het ding dat het voor mij heeft opgelost, nog niet duidelijk wordt genoemd. Wat me eigenlijk hielp was dit artikel:

http://www.rubencanton.com/blog/2012/02/how-to-fix-error-changes-are-not-allowed-while-code-is-running -in-net.html

en hier is een korte beschrijving van de oplossing:

  1. Stop met het uitvoeren van uw app.
  2. Ga naar Extra > Opties > Foutopsporing > Bewerken en doorgaan
  3. Schakel “Bewerken inschakelen en doorgaan” uit

Merk op hoe contra-intuïtief dit is: ik moest “Bewerken inschakelen en doorgaan” uitschakelenuitschakelen (uitvinken).

Hierdoor kunt u de code in uw editor wijzigen zonder dat u de melding “Wijzigingen zijn niet toegestaan ​​terwijl de code wordt uitgevoerd” krijgt.

Houd er echter rekening mee dat de codewijzigingen die u aanbrengt NIET worden weerspiegeld in uw lopende programma – daarvoor moet u uw programma stoppen en opnieuw starten (uit mijn hoofd denk ik dat sjabloon-/ASPX-wijzigingen wel worden weergegeven, maar niet VB/C# verandert, dwz “code achter” code).


Antwoord 25

Ik installeer de stackify, als ik dit in het pictogramvak inschakel, stopt het mijn foutopsporing met bewerken, dus ik vond

  • Sluit de visuele studio, in mijn geval is het vs2017
  • Ga naar het pictogramvak en klik met de rechtermuisknop op het stackify-pictogram en schakel .NET Profiler uit
  • Open de Visual Studio-toepassing opnieuw in debug-modus met debugger en ik kan bewerken tijdens het debuggen


Antwoord 26

Ik had dit vervelende probleem sinds ik mijn VS 2019 opwaardeerde naar 16.4.3 en me veel hoofdpijn bezorgde.
Uiteindelijk heb ik het probleem op deze manier opgelost:

1. Stop met foutopsporing
2. Selecteer de oplossing in “Solution Explorer”
3. Wijzig in het venster Eigenschappende eigenschap “Actieve config”van “Release|Elke CPU”in “Debug|Elke CPU “
4. In Foutopsporing > Opties > Algemeen Vink het selectievakje Bewerken en doorgaanaan

Dat werkte voor mij, en ik hoop dat het ook voor jou werkt.


Antwoord 27

embed interop-types visual studio moet worden ingesteld op false


Antwoord 28

Ik heb dit meegemaakt in een gekoppeld klassenbestand. De rest van het project stond E&C toe, maar ik kreeg dezelfde fout bij het bewerken van het gekoppelde bestand. De oplossing was om het gekoppelde bestand op te splitsen in een eigen project en naar het project te verwijzen.


Antwoord 29

Ik had hetzelfde probleem. Mijn probleem was dat ik een bestand kon wijzigen, maar niet een ander (beide bevinden zich in hetzelfde project). Later ontdekte ik dat het bestand dat ik niet kon wijzigen ook deel uitmaakte van een ander project. Dat een ander project (Unit Test) niet is geladen, en de intelligenteVS-debugger toont de fout dat de assembly voor dit gegeven bestand niet is geladen en dat wijzigingen niet zijn toegestaan. Wat raar!

Daarom moest ik het unit-testproject uitladen en doorgaan met de EnC-foutopsporing.

Other episodes