46

すべてのファイルをローカルに保存することから、ネットワーク ドライブに移動したところです。問題は、私のVSプロジェクトも現在保存されている場所です。(バージョン管理システムはまだありませんが、それに取り組んでいます。) 過去にこれを行う際の問題について聞いたことは知っていますが、回避策については聞いたことがありません。回避策はありますか?

だから私のVSはローカルにインストールされています。ファイルはネットワーク ドライブにあります。どうすればこれを機能させることができますか?

編集:何をすべきかはわかっていますが、これを修正してネットワークドライブを維持するために今すぐ貼ることができるバンドエイドはありますか?

編集 2: 私は何かを理解していないと確信していますが、ボブ・キングは正しい考えを持っています. 私は主任 Web 開発者がオフィスに戻ってきたら、何らかのバージョン管理のセットアップができるまでの間、一時的な解決策を見つけるために協力します。アイデアをありがとう。

4

17 に答える 17

33

ソース管理を使用する一方で、すべてのプロジェクトをネットワーク ドライブ (共有ディレクトリではなく、ネットワーク ドライブ上のプライベート ディレクトリ) から実行します。ネットワーク ドライブは毎晩バックアップされ、ボリューム シャドウ コピーも使用されるため、SC に到達する前に元に戻す必要がある場合は、元に戻すことができます。

プロジェクトを適切な権限で正しく実行するには、次の手順に従います

基本的には、共有ディレクトリをドライブにマップし、その URL に基づいてすべてのコードにアクセス許可を付与するだけです。「N:\」にマップし、「N:\*」を URL パターンとして使用するとします。ワイルドカードを使用する必要があることは明らかではありませんが、必要です。

于 2008-10-01T20:57:57.467 に答える
19

質問はかなり一般的であるため、私が直面していた1つの問題に答えます。

ネットワーク共有を介してすべてのプロジェクトをMac側に保持しながら、MacでParallels仮想マシンを使用してVisualStudio2010を実行します。ただし、Visual Studioは、そこからプロジェクトアセンブリファイルをロードしません。「caspol」だけを使用して権限を設定しようとしても、私の場合は役に立ちませんでした。

Visual Studioがネットワーク共有からアセンブリをロードできるようにするために最終的に機能したのは、ファイル "C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ devenv.exe.config"を編集することでした(デフォルトを想定)インストール)。

xmlの「<runtime>」セクションに追加する必要があります

<loadFromRemoteSources enabled="true"/>

書き込みアクセスを許可するには、そのファイルのアクセス許可を変更する必要がある場合があります。ファイルを保存します。VisualStudioを再起動します。

于 2012-04-18T20:00:56.057 に答える
11

実際に質問に答えるために、jcarle.com からこのコメントをコピーしました。

Visual Studio 2010 / .NET Framework v4.0 でのネットワーク共有の信頼

2011 年 1 月 20 日、午後 4 時 10 分 あなたが私のようで、すべてのコードをサーバーに保存している場合は、CasPol.exe を使用してネットワーク共有を信頼する方法を学んでいるでしょう。ただし、Visual Studio 2008 (.NET Framework 2.0/3.0/3.5) から Visual Studio 2010 (.NET Framework 4.0) に移行する場合、頭を悩ませていることに気付くかもしれません。

Visual Studio コマンド プロンプトを使用して CasPol にすばやくアクセスすることに慣れている場合、一部のプロジェクトが新しい FullTrust 設定を尊重していないように見えることがあります。その理由は、注意深く注意を払わない限り、Visual Studio コマンド プロンプトはデフォルトで .NET Framework 4.0 フォルダーをそのパスに追加するためです。プロジェクトがまだ .NET Framework 2.0/3.0/3.5 で実行されている場合は、それらのバージョンにも CasPol を設定する必要があります。個人的には、1.2 の代わりに 1 をコード グループとして使用することで、より多くの成功を収めています。

.NET Framework のすべてのバージョンのネットワーク共有を信頼するには、次のようにフル パスを使用して、バージョンごとに CasPol を呼び出すだけです。

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CasPol -m -ag 1 -url file://YourSharePath* FullTrust
C:\Windows\Microsoft.NET\Framework\v4.0.30319\CasPol -m -ag 1 -url file://YourSharePath* FullTrust

于 2011-06-28T17:20:09.530 に答える
5

プロジェクトに取り組んでいる人が複数いる場合 (またはいない場合でも)、これを行うことはお勧めしません。あなたはトラブルを求めているだけです。

一方、それに取り組んでいるのがあなただけの場合は、多くの問題を回避できます。ただし、パフォーマンスは窓の外に出ます。動作させる方法に関しては、VS からソリューション ファイルを開くだけです。セキュリティの問題が発生する可能性がありますが、CASPOL を使用して修正できます。何度も言いますが、パフォーマンスは最悪です。繰り返しますが、まったくお勧めしません。

あなた自身とあなたのチームのために、SVN またはその他の形式のソース管理をインストールし、できるだけ早くそこにコードを配置してください。

編集:コメントを部分的に撤回します。Bob King は、ネットワーク ドライブから VS プロジェクトを実行する理由を以下で説明していますが、それは理にかなっています。ボブのように特別な理由がない限り、やめてください。それ以外の場合は、そのような開発環境をセットアップする前に、アヒルを一列に並べてください。

于 2008-10-01T20:47:40.000 に答える
2

これを誰もが答えられる質問に言い換えてみませんか?最初のポスターとまったく同じ問題があります。

VB 2008のコピーを持っています(最近VB6からアップグレードされました)。バックアップしたネットワークドライブにソリューションを保存すると、実行されることは1つもありません。アセンブリで「allowpartiallytrustedcallers」が設定されている場合でも、モジュールにアクセスすると「partiallytrustedcallers」エラーが発生します。ファイルを(バックアップされていない)C:に保存すると、誰もが使用できるように共有ドライブに保存するまで、ファイルは正常に実行され、同じ問題に戻ります。

これは大きな要求ではありません。ソリューションと実行可能ファイルを共有ドライブに配置して、セキュリティについてのばかげた量のナンセンスなしで実行できるようにしたいだけです。すべての作業をフォームファイルに詰め込む必要はありません。

-編集:AllowPartialllyTrustedCallersコマンドを無視する理由に問題が見つかりました。部分的に信頼されていないADODBを参照しようとしています。では、ネットワーク実行可能ファイルはデータベースにアクセスできませんか?とにかく、マイクロソフトはイントラネットに対して何を持っていますか?

于 2010-05-24T17:01:45.363 に答える
1

私は最近同じ問題に直面していたので、この答えは自分の知識を追跡するためのものです. とにかく、誰かがそれを役に立つと思ったら、以下に問題と解決策を示します.

問題: NET 4.0 プロジェクト、SVN リポジトリ、チェックアウト フォルダーがローカル ドライブにあり、参照されたアセンブリがビルド サーバーによってビルドされ、ネットワーク ドライブで利用可能です。W7 の Visual Studio は参照を追加できますが、プロジェクトをビルドできません。

解決策: NET 4.0 では、ネットワーク アセンブリ用のサンドボックスが自動的に提供されなくなったため、machine.config の更新によってこれらを完全に信頼する必要があります。http://msdn.microsoft.com/en-us/library/dd409252.aspx

于 2012-02-28T12:43:48.073 に答える
1

やらないでください。ソース管理 (バージョン管理) を行っている場合は、ファイルをネットワーク ドライブに置きたくありません。ソース管理を使用して達成したいすべてを完全にバイパスします.ファイルがネットワークドライブにあると、誰でもそれらを変更できるため....現在プロジェクトを構築している間でも. カブー!

PS: これは、オーバーエンジニアリングの典型的なケースのように思えます。

于 2008-10-01T20:52:47.477 に答える
1

具体的な問題はありますか?

複数のユーザーがソリューションを開くことを許可する場合、最初の問題は、.NCB ファイル (Intellisense) が排他的にロックされ、1 人のユーザーしかクラス ツリーを参照できないことです。もちろん、あるユーザーの変更が他のユーザーの変更を上書きする可能性もあります。

于 2008-10-01T20:57:52.550 に答える
1

だから私は同様の問題を抱えていました。Visual Studio は、私がドライブ文字用にマップしたネットワークの場所を認識しませんでした。面白いことに、それは 1 日間有効でした。プロジェクトをセットアップして作業を開始しましたが、問題はありませんでした。その後、シャットダウンし、翌日何も機能しません。コード内のファイルの読み取り/書き込み、実行可能ファイルの出力などを行うことができませんでした。私のプロジェクトはローカルですが、私の出力はネットワーク上でスローされることを意図していました。

とにかく、問題はおそらく管理者コンテキストに関するものですが、オンラインで掘り下げているときに見つけた修正方法の 1 つは、Visual Studio で問題のドライブを何らかの方法で参照することです。これを行う方法はたくさんありますが、VS はマップされたドライブ文字を魔法のように認識できます。私の解決策は、[プロジェクト プロパティ] の [デバッグ出力の場所] に移動し、[参照] をクリックして、ネットワーク ドライブ上の以前に作成した出力場所に移動することです。

私はこれを理解しようとして半日を費やし、他の誰かの時間を節約できるかもしれないと考えたので、これを掲載したかった. どうもありがとう、そして幸運を祈ります!!!

エリック

于 2011-09-09T22:51:50.413 に答える
0

Macで実行されるパラレルでvc11を使用しようとしているときに、これが役立つことがわかりました: http://social.msdn.microsoft.com/Forums/en-US/toolsforwinapps/thread/2ffdcb01-c511-4961-834b-afd5f2fbb8e1、具体的には:

1) ローカル デバッグからリモート デバッグに切り替えて、マシン名を「localhost」に設定できます。これにより、ローカル マシンでリモート デプロイが行われます (したがって、プロジェクトのディレクトリは使用されません)。リモート デバッガー ツールをインストールしたり、msvsmon を起動してこれを localhost で動作させる必要はありません。

于 2012-03-17T17:30:36.647 に答える
0

これが他の人に役立つ場合は、ここで説明する手順を実行して、ネットワーク共有の場所を Windows イントラネット ゾーンに追加する必要がありました。特に、ネットワーク共有でソリューションを開くとき (つまり、VMware Fusion を使用して、Mac のハード ドライブからソリューションを開くとき) に Visual Studio が負荷でハングするという問題がありました。このシナリオでの PostSharp の実行にも問題がありました。

于 2013-03-29T14:46:29.023 に答える
0

Visual Studio の一部の機能は、ネットワーク ドライブでの動作を拒否することに注意してください。

たとえば、SQL Express ユーザー インスタンスの mdf ファイルは、ローカル ドライブに配置する必要があります。

別の例として、UNC パスを使用する場合、それらが十分に短いことを確認する必要があります。

于 2009-11-24T05:39:29.660 に答える
0

私が正しく理解している場合、Visual Studio プロジェクト ファイルはネットワーク ドライブに保存されており、そこからそれらを実行しています。これは私がしていることであり、問​​題はありません。セキュリティ ポリシーが設定されていることを確認する必要があります。これを行うには、 Caspolを使用するか、コントロール パネルの管理ツール メニューを使用します。

于 2008-10-01T20:52:36.027 に答える
-1

「どうすればこれを機能させることができますか?」いくつかの選択肢があります。

選択肢 A: 1. すべてのファイルをローカル ハード ドライブに戻す 2. 何らかの種類のバックアップ ソフトウェアをマシンに実装する 3. 上記のバックアップ ソリューションをテストする 4. コーディングを続ける

選択肢 B: 1. 無料のソース管理製品の 1 つのコピーを取得し、それを実装します。2. バックアップされていることを確認する 3. テストする

選択肢 C: 利用可能な多くのオンライン ソース管理リポジトリの 1 つを使用します。Google、SourceForge、CodePlex など。

于 2008-10-01T20:54:42.683 に答える
-4

さて、私の質問は、なぜあなたがこれを求めているのかということです。ネットワークドライブに保存している場合、動作しませんか? 私はこれを自分で試したことはありませんが、想定できる問題の 1 つは、ネットワーク ドライブ (つまり、同じくネットワーク ドライブにある bin\Debug ディレクトリ) から実行されている .NET コードがサンドボックス モードで実行されていることです。 CASPOLをいじらない限り(または、その障害を取り除いたと聞いている3.5 SP1を使用しない限り)。

特定の問題がある場合は、それらについて質問してください。「なぜ X が機能しないのですか?」と尋ねないでください。

あなたが同じリモート ドライブにアクセスしているのは 1 人なのか複数なのかはわかりませんが、ネットワーク ディレクトリごとに 1 人だけであると仮定しています。これは正しいです?そうでない場合は、バンドエイドはありません。バージョン管理を取得し、ファイルをローカル ディスクに戻します。

于 2008-10-01T20:54:20.593 に答える