Visual Studio(2010)マクロを使用してASPXページのテキストをリテラルコントロールに置き換えようとしていますが、コントロールマークアップが置換時に変更されているようです。Visual Studioマクロを使用してテキストをコントロールマークアップに置き換えます。
私は次のようにASPXページを持っている:
私はと交換しようとしている<span>Foo</span>
:
<span><asp:Literal Text="<%$ Resources:Foo %>" runat="server" /></span>
これは「foo」というテキストを強調することによって行われているとテキストを置き換えるマクロを実行します。ただし、マクロを実行すると、Visual Studioは入力したとおりにテキストを貼り付けません。
私のマクロコードは次のようになります。マクロが実行されるが、それはこれを挿入すると、しかし
Dim Selection As TextSelection = DTE.ActiveDocument.Selection
Selection.Text = "<asp:Literal Text=""<%$ Resources:Foo %>"" runat=""Server""/>"
:(他の人が正しいが)
<asp:Literal Text=""<%$ Resources:Foo %>" runat="Server" /> %>"
は、二重引用符の最初のセットを注意してください最後に追加の%>"
が追加されました。これは、置換テキストに引用符が含まれている場合に発生すると考えられます。たとえば、選択したテキストを<asp:Literal runat=Server"/>
と置き換えようとすると、正しく動作します。
これはなぜ起こっているのか誰にも分かりますが、これを回避するにはどうすればよいですか?
ありがとうございました。