12

ASP.net Web サイトにグローバリゼーションを実装したため、Intellisense の問題が発生しています。

リソースが asp.net コントロールに追加されると、エラーが発生します。Visual Studio でエラーが表示されても、アプリケーションは動作します。

たとえば、次のボタン

 <asp:Button runat="server" ID="BtnSave" Text="<%$ Resources:ResourceName, Save %>" OnClick="BtnSave_Click" />

コードビハインドでは認識されません:

インテリセンスの問題

エラーは、コード ビハインドが開いている場合にのみ表示されます。しかし、ブラウザでは機能します!

リソース参照のない同じボタンはうまく機能します:

 <asp:Button runat="server" ID="BtnSave" Text="Save" OnClick="BtnSave_Click" />

これは、web.config に追加されたカスタム SQL リソース プロバイダー ファクトリです。

 <globalization resourceProviderFactoryType="MyNamespace.SqlResourceProviderFactory" />

キャッシュを削除して、コンピューターを再起動してみました。

問題を見つける方法に関するヒントはありますか?

前もって感謝します。

4

8 に答える 8

6

新しい VS2010 ソリューションを作成して既存の Web サイトにドラッグしたときに、この問題が発生しました。これを解決するには、プロジェクトを右クリックして [ Web アプリケーションに変換] をクリックします。これにより、デザイナー ファイルが作成され、インテリセンスの問題が修正されます。

于 2012-09-18T09:30:37.917 に答える
3

私自身もこれを数回経験しましたが、グローバリゼーションとは関係ありません。

VSを再起動するか(試したようです)、フロントエンドコードとバックエンドコードのクラス名を確認することで、常に解決しました。コードは同じです。

ばかげているように聞こえますが、ページをコピーすると、クラス名が更新されないため、バインディングが少し歪んでしまいます (これは専門用語です)。

役に立たないかもしれませんが、確認する必要があります。

于 2012-07-04T15:29:24.427 に答える
1

We had this problem when the contents of the .aspx page had been copied in bulk to a new one resulting in 2 .aspx files pointing to the same code behind

CodeFile="xxxxxxxx.aspx.cs"

It manifested itself in the same way, error thrown, stopped the build but comment it out, build and then comment it back in and the site and functionality ran fine.

于 2012-07-18T11:31:04.023 に答える
1

一時的にコンパイルされたページ キャッシュ、32 ビットと 64 ビットのそれぞれのディレクトリ (以下に示すのは 64 ビット) の両方をクリアしてみてください。

%System Drive%:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files

それは時々トリックを行うことができます

于 2012-07-16T20:24:50.707 に答える
0

「クリーンソリューション」を実行して、Cドライブのasp.netの一時フォルダーを削除してください。これが役立つかどうか教えてください

于 2012-07-18T16:45:03.097 に答える
0

リソース プロバイダーに問題がありました。コンパイルしてランタイムで動作していましたが、HTTP コンテキストなしで実行するとクラッシュしました ( HttpContext.Current)。

同じ問題を経験している他の人には、web.config ファイルで使用されているクラスにそのような矛盾がないか確認することをお勧めします。

于 2012-09-18T13:39:59.483 に答える