質問

Visual Studio 2010でVisual Studioの編集と続行機能は停止しましたが、何が問題を引き起こしたのかわかりません。

C#を使用してWindowsアプリケーションプログラムに取り組んでいます。このアプリケーションは当初、Visual Studio 2008で開発され、後にVisual Studio 2010にアップグレードされました。

.NETフレームワークを3.5から4.0にアップグレードするまで、編集を含むすべてが正常に機能していました。

ここで、デバッグモードを使用すると、IDEのコードの行を変更すると、次のメッセージが表示されます。

編集できない編集が行われました。コンパイルエラーが修正されるまで実行は継続できません。

実際、コンピレーションエラーはありません。実行するアップデートを取得するには、Visual Studioを再起動する必要があります。

編集して再び動作し続けるにはどうすればよいですか?

役に立ちましたか?

解決 2

編集および続行機能は、 dynamic キーワード。

aを使用する方法を削除しようとしました dynamic パラメーター、および変換されたプロジェクトは、Visual Studio 2010で機能します。

インターネット調査は、それがマイクロソフトに報告されたバグであることを明らかにしています。以下のリンクには詳細があります。

他のヒント

ソリューションエクスプローラービューで、参照の各参照を右クリックして、プロパティを選択します。プロパティビューでは、埋め込まれたインターポップ型のフィールドにfalseに署名します。これは私のために働きます。

Excelファイルがありました "embed interop types" == true. 。 falseに変更したとき、編集して続行し始めました。

昨日、Microsoftのプロファイラーを使用していましたが、その後、「編集と続行」機能が逃げました。私はついに何時間ものフラストレーションの後、私が実行する必要があることに気付きました vsperfclrenv /コマンドプロンプトからのグローバルオフコマンドとコンピュータを再起動します。今、私は自分の編集を持っていて、将来を続けます。ちなみに、ターゲットプラットフォームとは何の関係もありません。手間をかけずに任意のCPUに設定されたターゲットプラットフォームで動作します。

私はVisual Studio 2013でこの問題を抱えていました: -

  • ソリューションを閉じて再開するだけで、それが機能しない場合があります
  • Visual Studio(Close Solution、Exit Visual Studio、Visual Studioの再オープン、再開、編集と続きでデバッグを再試行)の再起動が修正します。

私の場合、私は埋め込まれたインターポップタイプを持っていませんでしたし、私のコードのいずれも持っていませんでした dynamic キーワード、そして私は成功せずに完全なソリューションをきれいに実行しました。私は何度も走って、デバッグし、再開していたので、メモリと関係があるかもしれません - 視覚的なスタジオが閉まるのに1分以上かかりました。遊ぶ)。

Vsによって生成されたすべてのファイルをクリーンアウトしてみます。だから私は削除します binobj ディレクトリと私も削除します *.suo*.user ファイル。これらのファイルは自動生成されているため、これは何にも影響しないはずです(ただし、誤って他のファイルが入っている場合に備えて、明らかにすべてのファイルのバックアップを作成します)。

これらのファイルが破損する可能性がある場合(以前は古いVC ++などでかなり多く発生していました)、VSは非常に面白い行動を開始する可能性があります。

上記のすべてのソリューションを試してみました。ただし、i ビンとオブジェクトフォルダーを削除しました Visual Studioで再び実行すると、機能し始めます。

vs2017コミュニティでの作業この悪化の問題はありました:既存のプロジェクトを移植する場合 EmbedInterOpTypes まだ.csprojファイルにない可能性がありますが、検索は無駄です。その場合は、プロパティグループのデバッグ| x86(または使用している方)に最後にタグを追加します。

前:

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin\x86\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <DocumentationFile>bin\Debug\MyProject.XML</DocumentationFile>
    <DebugType>full</DebugType>
    <PlatformTarget>x86</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>

後:

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin\x86\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <DocumentationFile>bin\Debug\MyProject.XML</DocumentationFile>
    <DebugType>full</DebugType>
    <PlatformTarget>x86</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <Prefer32Bit>false</Prefer32Bit>
    <EmbedInteropTypes>false</EmbedInteropTypes>
  </PropertyGroup>

これはで行う必要があります 全て ソリューションに属するプロジェクト!

VS2013では、デバッグオプションで「マネージド互換モードを使用」を有効にする必要がありました。 .NET 2アセンブリを参照する.NET 4プロジェクトがあるからだと思います。

同じソリューションの別のプロジェクトでは、プロジェクトプロパティの「トレース定数を定義する」チェックを外す必要がありました。

私の状況では、誰かがプロジェクトの出力への参照を参照リストに追加しました:ソリューションエクスプローラーで[ProjectName] [ProjectName*]の参照を参照して削除します。

プロジェクトがそれ自体のコピーからコードに依存している場合、「編集して続行する」ことはできません。警告リストでは、これが問題の原因である場合、「より大きなプロジェクトでは、より大きなプロジェクトでは、インポートされたタイプと競合する」メッセージを持っている場合とそうでない場合があります。

Visual Studio 2015では、.VSフォルダー(新しいスタイルの.suoファイルがあります)を削除し、すべてのビンとOBJを削除し、また アンインストールされたResharper 2015。編集して続行します。

(サイドノート:Intellisenseは現在、ほぼ瞬時にオートコンプリートを表示していますが、2〜5秒前に、おそらくResharperのせいであり、おそらく無関係です...)

私はこの投稿が古いことを理解していますが、私は最近この問題を抱えていました、そしてこれ ブログ投稿 それを修正する方法を教えてください。

  • 削除します OBJ フォルダ
  • 削除します 置き場 フォルダ。削除後、ライブラリ、データファイルなどをコピーして貼り付けてフォルダーに戻すことができます。
  • VSから、メニューソリューション - > きれいな解決策.

これは私のために何度も機能します。

私にとってこれは原因でした ヌゲット 参照されていたネット標準プロジェクトにパッケージ(ネットフレームワーク用に構築された)をダウンロードできません。 Nugetは無限ループに入りました(出力ウィンドウを見てください)。

解決 「自動パッケージの復元」設定をオフにすることでした。 https://developercommunity.visualstudio.com/content/problem/26638/nuget-infinite-loop.html

この設定にアクセスしますツール>オプション> nugetパッケージマネージャー>一般

上記を読んで、私のUIプロジェクトには、「埋め込まれたインターポイプタイプ」== trueを備えたShell32があります。私はそれをfalseに変更し、「編集と続行」の動作を開始しました。

ソリューションエクスプローラービューで、参照の各参照を右クリックして、プロパティを選択します。プロパティビューでは、埋め込まれたインターポップ型のフィールドにfalseに署名します。これは私のために働いた。

Visual Studio 2017でもこのエラーを受けている人のために

動的/ポータブルクラスライブラリ/NUGETパッケージまたは依存関係の問題はありません。 Visual Studioによって強調されたエラーや警告はありません。

これに投稿されたすべてのソリューションを試してみると時間を費やしてから 他のスレッド そしてウェブページ、私のために働いた唯一の解決策は チェックインして、ワークスペースを削除してください Map&Get また.

ワークスペースを削除するには、 Source controlAdvancedWorkspaceRemove.

私は、Visual Studio 2017コミュニティを最新のものと、新しいマシンに比較的新しいインストールを行った後(1週間と数時間の労働時間)を使用しています。


上記の解決策の前に成功せずにテストした方法

  • Visual Studioオプションで編集と続行が有効になっていることを確認しました。 Untickともう一度チェックバックします
  • ソリューションのすべてのプロジェクトのビンとOBJを削除します
  • すべてをきれいにして再構築する、上記と組み合わせて再起動 /再起動
  • コンパイルオプションとNUGETパッケージとプロジェクトのDLL互換性を確認してください。 これ
  • 依存関係の問題やその他の問題をテストするために、さまざまな組み合わせでプロジェクトを降ろす(触発された これ)
  • ソリューションの削除再ダウンロード(ワークスペースを削除せずに)
  • falseに署名して、挿入されたインターロップタイプを埋め込みます
  • 設定 <_ResolveReferenceDependencies>true 説明されているように ここ
  • 上記のvsと再起動の再起動との組み合わせ

この後、私はチェックインを行い、同じバージョンのVisual Studio(2017 Community)を実行している別のマシンにソリューションをダウンロードしました。編集と続行の問題が発生しなかったため、ワークスペースの削除に行きました。

私の場合、うまくいったのは チェックを解除する「ソースファイルが元のバージョンと正確に一致する必要がある」 デバッグオプションで。 VSコミュニティ2017はこちら。

ツールで「ネイティブ編集を有効にして続行する」というチェックを解除する必要がありました - >オプション - >デバッグ - >一般:

enter image description here

私の参照されているプロジェクトのアセンブリバージョンから *を削除すると、私にとって問題は解決しました。

Githubから:

「私はこの問題をVBとC#プロジェクトの組み合わせで[Assembly:AssemblyVersion(1.2.3。*)]と再現しました。 VBプロジェクトがC#プロジェクトを参照すると、この設定が崩壊し始めます。それは同じ問題を抱えているように見えます。」-rhuijben

https://github.com/dotnet/roslyn/issues/28224

(フラグを立てるリスクがあるので、私たちは10年以上にわたってVSの編集に苦しんで問題を継続しているようです。MicrosoftVisualStudioチームが、これが発生したときにより冗長な情報を提供することで開発者を支援するのに十分な気になっていないことは衝撃的です)

上記をすべて試しましたが、何も機能しませんでした。それは明らかに、いくつかの低レベルのデバッグオプションを有効にしたためでした(レジスタを表示...)

ツール - >設定のインポートとエクスポート - >すべての設定をリセットする

解決しました

VS 2015では、このエラーは最近インストールしたNugetパッケージが原因でした。このパッケージをアンインストールして再インストールすることにより、バグが修正されました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top