5

Ich habe Visual Studio-Erweiterung für den privaten Gebrauch geschrieben. Das Paket ist noch in der Entwicklung, aber ich möchte es verwenden und an meine Kollegen verteilen. Ist es möglich, Debugsymbole (.pdb) in das .vsix-Paket aufzunehmen? Ich bevorzuge eine Visual Studio- oder Projekteinstellung für die Paketbearbeitung.Wie Debugging-Symbole in .vsix-Paket enthalten

Antwort

4

In der Benutzeroberfläche von VS gibt es keine Einstellung, aber Sie können Ihre .csproj- oder .vbproj-Datei bearbeiten, um sie zu ändern. Wenn Sie die CSPROJ Datei in Notepad zu öffnen, entweder aktualisieren oder fügen Sie diese unter einem <PropertyGroup>

<IncludeDebugSymbolsInVSIXContainer>true</IncludeDebugSymbolsInVSIXContainer> 

wahrscheinlich Sie wollen diese Property unter Ihren „debug“ hinzufügen, so dass, wie es in Debug enthalten wird Builds, aber nicht diejenigen, veröffentlichen Sie könnten irgendwo öffentlich bleiben. Wenn Sie Projektreferenzen haben, die der VSIX hinzukommen, gehen Sie auf die <ProjectReference> Knoten in der Projektdatei und sucht:

<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3b</IncludeOutputGroupsInVSIX> 
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly> 

Die erste Zeile die Ausgangsgruppen, die in der VSIX aufgenommen werden, und die zweite ist was wird lokal kopiert, wenn Sie F5 drücken. Optimiere die Gruppen wie erwartet, wobei% 3b die entkommete Form von a ist; und ist hier das Trennzeichen.

+0

Ich habe 'zu' hinzugefügt > und es funktioniert. THX – IvanH

+0

Ich habe dies manuell kopiert und eingefügt unter dem '' Knoten in meiner csproj-Datei. Es scheint jedoch immer noch nicht die PDB für eine Abhängigkeit zu kopieren ... Ich habe auch versucht, alle Eigenschaften [hier] (https://stackoverflow.com/a/7774371/4077294) auf 'true' zu ​​setzen auch, aber kein Glück. Ich frage mich, ob das daran liegt, dass mein VSIX von einer .NET Standard-Bibliothek abhängig ist. –