0

私は最近、グローバル 2010 プロジェクトの 1 つを実行するために VS2010 を取得しました。他のアセンブリの中でも、ajaxcontroltoolkit、web.UI.extensions、および Devexpress (サード パーティ) を実行します。プロジェクトの標準化により、アセンブリ レジスタを aspx ファイルの先頭に配置しました。

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<%@ Register Assembly="DevExpress.Web.ASPxGridView.v10.2, Version=10.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxGridView" TagPrefix="dx" %>    
<%@ Register assembly="DevExpress.Web.ASPxEditors.v10.2, Version=10.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxEditors" tagprefix="dx" %>

ASP.net オブジェクト (asp:Textbox など) のインテリセンスが .aspx ページで機能しないという問題が発生しました。コード ビハインド ページでは問題なく動作します。私は次のことを試しました:-

  1. この問題なしで同僚から設定をインポートする
  2. デフォルト設定に設定
  3. デフォルトの %AppCode%/Microsoft/Visual Studio/10.0 フォルダー
  4. サードパーティ (DevExpress) の修復/再インストール

ソリューションを繰り返し開いたり閉じたりした後、興味深いことに、ソリューションを新しく開いたときに asp.net Intellisense が実際に機能することがわかりました。ただし、この間、私の DevExpress インテリセンスはそうではありません。約 10 秒後、DevExpress インテリセンスが機能するようになりましたが、私のすべての asp.net インテリセンスは機能しません。これにより、どこかに競合があると思われますが、これを修正するにはどうすればよいですか?

4

1 に答える 1

0

AjaxControlToolkit アセンブリ参照を DevExpress 参照の下に配置したところ、すべてのインテリセンスが正常に機能するようになりました。今はそれがどのように機能するかを理解しているとは言えません。以下は私が取った手順です:-

  1. AjaxControlToolkit 参照を削除 - ASP.net と DevExpress IntelliSense が存在
  2. AjaxControlToolkit リファレンスを web.config に配置 - 3 つの IntelliSense がすべて存在
  3. DevExpress リファレンスの下に AjaxControlToolkit リファレンスを配置 - 3 つのインテリセンスすべてが存在

AjaxControlToolkit 参照を削除して置き換えることで、何らかの方法でリンケージを更新する可能性があります。以前は、ASP.net オブジェクトへの Intellisense アクセスをブロックしていたリンケージです。とにかく、私は今それが機能することをうれしく思います。

edit : 解決策は、AjaxControlToolkit の tagprefix の名前を asp 以外の名前に変更するだけであることに気付きました。AjaxControlToolkit に関する何かが問題を引き起こし、一部の VS2010 は asp タグプレフィックスを共有していたため、すべての asp オブジェクトが機能しなくなりました。名前を「ajax」に変更しましたが、「ajax」オブジェクトはまだ機能しませんが、すべての asp オブジェクトが表示されます。

于 2012-05-30T03:13:13.303 に答える