(C ++である可能性が高いですが、c ++を含むドットネットである可能性があります)ソリューションを変更するアドインを作成しました。
アドインは正常に機能しているようです。
場合によっては、保存後、アドインで変更されたソリューションを正常に構築した後でも、VisualStudioがクラッシュすることがあります。保存しないとクラッシュします。保存せずに閉じようとするとクラッシュします。ただ...毎回ではありません。
コードは、ソリューションに特定のプロジェクトが必要ないと判断した後、それらを削除しようとします。http://msdn.microsoft.com/en-us/library/envdte._solution.remove( v=vs.100) .aspx -try-catch内-そして削除は成功します。
私が言ったように、私は保存することができます、そしてその後、ソリューションは適切に保存して構築します...
唯一の問題は、ソリューションまたはVisual Studioを閉じようとすると、クラッシュすることです-ひどく。また、アドインが完了した後、しばらくしてからクラッシュする可能性があります...未定です。
トラブルシューティングのために、私は最終的に追加しました
try
{
solution.Close(false);
}
catch (System.Exception e)
{
MessageBox.Show(e.Message);
}
そして、私はエラーが発生しました:
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
コードを使用してソリューションを閉じたくはありません。VisualStudioをクラッシュさせたくないだけです。
今、私はをsolution.Remove(projectToRemove)
MessageBoxに置き換えました-そして私のコードは満足しています-そしてその仕事を実行することができません。
提案ありがとうございます。