C: ドライブの Visual Studio 2008 で開発した subsonic を使用するプロジェクトがあります。問題ありません。Visual Studio 2010 にアップグレードしたばかりです (私のコンピューターが偶然に停止したため、現在、VirtualBox で仮想化された Windows XP を実行しています)。
プロジェクトは C: ドライブでは問題なく実行されますが、G: (ベース PC のパーティションを指すマップされたドライブ) から実行すると、subsonic が使用するカスタム ツールを実行できません (以下にリストされているエラー)、またはWeb アプリケーションを実行します (「デバッグなしで開始」: 「G:\GPNNT\GpnntApp\GpnntApp」への変更の監視を開始できませんでした)。
これは .net 3.5 ソリューションです。
これは、十分に文書化された簡単な問題のようです。私は次の行動をとった:
(1) バッチファイル
c:
cd "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727"
caspol -all -reset
caspol -q -machine -addgroup 1 -url file:////g:\* FullTrust -name "G Drive"
caspol -q -machine -addgroup 1 -url g:\* FullTrust -name "G Drive 1"
c:
cd "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319"
caspol -all -reset
caspol -q -machine -addgroup 1 -url file:////g:\* FullTrust -name "G Drive"
caspol -q -machine -addgroup 1 -url g:\* FullTrust -name "G Drive"
pause
(私は無数の異なるURLフォーマットを試しましたが、すべて役に立ちませんでした)
(2) .Net 2.0 構成ユーティリティ ([コントロール パネル] > [管理ツール])
分析ツールを使用すると、上記のバッチ ファイルで行われた両方の設定がドライブ上のファイルに適用されるように見えます。
また、イントラネット グループを FullTrust に設定してみました (これはやりたくないことです!)。変わりはない。
(3) loadFromRemoteSources
プロジェクト自体は .NET 2 しか使用していませんが、VS2010 自体は内部で .NET 4 を使用している可能性があると考えるのが妥当です。さらにグーグルで調べた後(例:ここ)、追加しました
<runtime> <loadFromRemoteSources enabled="true"/> </runtime>
両方の .net バージョンの machine.config ファイルに。
(4) VS2010 SP1 へのアップグレード
これらのどれも違いを生んでいません。私の血圧が危険なほど高いレベルに達する前に、誰かがこれに光を当てることができますか? すべてを C: で実行することに戻れると思いますが、この仮想化の時代では少しばかげているように思えます。VM とは別の場所にあるデータが本当に必要です。
このSO 投稿にも同じ問題があり、テスト プロジェクトを非難していることに注意してください。また、テスト プロジェクトもありませんが、SubSonic dll のどこかにテスト参照が埋め込まれている可能性があります。
直前の追加: また、SQL Server 2005/8 が G: と通信しないことにも気付きました (たとえば、そこからバックアップを復元する)。どのソリューションでもこれが発生する可能性があると思います。それはもう一つの素晴らしいことです。