6

Windows 8 RTM x64 で Visual Studio 2012 Premium を使用して ASP.NET MVC 4 サイトを開発しています。Web アプリケーションを右クリックして [発行] を選択すると、Visual Studio 2012 から次のメッセージが返されます。

「'http://.../' の URL を開くことができませんでした。例外: クラスが登録されていません」

公開プロセスは正しく動作しているように見えますが、ブラウザーを起動できません。これは、サイトを公開しようとするたびに発生し、Chrome (21.0.1180.79 m) または Firefox (14.0.1) で発生します。

さらに、サイトは公開後に起動しないため、Ctrl-F5 を使用して手動で起動します。通常どおりサイト内を移動できますが、タスク バーのブラウザー アイコンを右クリックして別のブラウザー インスタンスを起動しても、何も起こりません。すべてのブラウザ インスタンスを閉じると、ブラウザのタスク バー アイコンが通常の動作に戻ります。

これら 2 つの問題が関連しているかどうかはわかりませんが、ここでの共通のテーマは、Visual Studio 2012 からブラウザーを起動すると予期しない副作用が発生することです。ブラウザーは、発行時に起動に失敗するか、Ctrl-F5 で起動しますが、タスク バー アイコンを使用して別のインスタンスを起動しても役に立たなくなります。

どんな助けでも大歓迎です。

編集:ソフトウェア スタック全体 (Windows 8、Office 2010、Visual Studio 2012、Windows Update、Chrome、Firefox) を再インストールしました。Internet Explorer を既定のブラウザーにしない限り、上記の問題は続きます。

ありがとう。

4

2 に答える 2

4

Chrome のバグを報告しました。これはブラウザの登録に関するものでした。ダウンロードからアンインストールして再インストールし、UAC プロンプトに対して必ず [はい] と答えると、Chrome はユーザーではなくマシン全体で登録されます。これは、管理者として起動するために必要です。(HKLM 対 HKCU)

于 2012-10-25T21:24:46.923 に答える
2

この問題は、Web公開操作よりもはるかに広範囲に及ぶようです。ShellExecute()API(またはProcess.Start)を使用してURLにアクセスするときはいつでも、昇格された権限で実行すると失敗します(つまり、管理者として実行)。

これは、Process.Start()またはShellExecute()を使用するすべてのアプリケーションで見られます。UACがオンになっていて、UACアカウントで通常どおり実行すると、すべてが機能し、ブラウザーが開きます。「管理者として実行」で実行すると失敗します。テストは簡単です。

これがOSのバグなのか、それともMicrosoftがこれをセキュリティの「機能」と見なしているのかわからない。

FWIW、デフォルトのブラウザとしてIEを設定することについて言及する人もいますが、私にとっては機能しません。基本的に、権利を昇格させた場合、リンクは機能しません。これにより、バックオフィスで管理に使用しているかなりの数の管理アプリケーションが実際に壊れています。

于 2012-12-09T10:24:53.333 に答える