問題タブ [shadow-copy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
961 参照

c# - 私のdllをコードベースからのみロード可能にする方法は?

私のプロジェクト(ある種の処理エンジン)は 2 つの dll に分かれています。1 つはインターフェイス宣言を含み、もう 1 つは機能を含みます。通常、プロジェクトは COM テクノロジーを介して外部の Delphi プロジェクトによって使用されます。

私のプログラムが果物をスライスするとしましょう。外部の Delphi プログラムは Fruit オブジェクトを作成し、そのプロパティを入力します: weight (int)、Name (string)、ProgressUpdater (2 番目の dll でインターフェイスを使用して宣言されている IProgressUpdater 型)。この exst programm creater Slicer の後、Slicer.AddFruit(newFruit)そして、Slicer.Slice() を呼び出します。

特にない。実際の Delphi プロジェクトは Outlook アドインです。しかし、ここに問題があります - 一部の VSTO アドインは、Outlook を「シャドウ コピー ファイル」モードで動作させることがあるため、Delphi プロジェクトが開始され、Slicer オブジェクトが作成されると、C# アセンブリが一時フォルダーに配置され、アセンブリがこのローカル パスで作成されます。うーん...これはまだ問題ではありません。しかし、問題は、デルファイ プロジェクトが newFruit を作成してから ProgressUpdater オブジェクトを渡すときです。私のスライサー アセンブリでは、外部の ProgressUpdater を取得できません。

これは、shadowCopyFiles モードがオンの場合にのみ発生します。私の推測では、外部の ProgressUpdater のアセンブリと Slicer のアセンブリが別の場所に配置されているため、渡すことができません。私の質問は、dll が「シャドウ コピー」されないようにする方法です。それとも別の解決策がありますか?

0 投票する
1 に答える
184 参照

c++ - プログラムから CMD を開いたときにのみ奇妙な CMD エラーが発生する

これは確かに奇妙なものです。

コマンドプロンプトウィンドウを直接開くと(スタートでcmdを検索し、右クリック>ここでコマンドウィンドウを開く、batファイル内でcmdなど)、入力したすべてのコマンドが完全に正常に実行されます。

system("cmd");C++ アプリケーション (など)内からコマンド プロンプト ウィンドウを開くと、入力QProcess::startDetached("cmd");したコマンドでエラーがスローされます。

私のアプリから開いたコマンドで機能しないいくつかのコマンドを次に示します。

など...私はいたるところClass not registeredInitialization failureエラーを受け取ります。シャドウ コピーに関係することはまったく機能していません。しかし、繰り返しになりますが、奇妙なことに、cmd が伝統的に (プログラムからではなく) 開かれた場合、これらの同じコマンドは完全に正常に機能します。cmd の両方のインスタンスに管理者権限があります。

私の質問は、cmd を開く方法が、一部のコマンドが機能するかどうかに影響するのはなぜですか? 私が見ることができるすべては、違いはないはずだと言っています。

0 投票する
1 に答える
327 参照

vb.net - アンチウイルスがアドインを削除し続けます。VB.Net でシャドウ コピーを無効にするにはどうすればよいですか?

だから、これは私にとって非常に迷惑になりました。Outlook アドインをコンパイルするたびに、シャドウ コピーによってアセンブリ ディレクトリにコピーが作成されます。その後、ウイルス対策ソフトウェアが新しい DLL を検出し、すぐに削除します。(ウイルス対策には優れていますが、待つ必要はありませんが、ウイルス対策には適していません)

アセンブリ ディレクトリをすべてのウイルス対策スキャンから除外したくないので、デバッグ中に vb.net アセンブリでシャドウ コピーを無効にする方法を見つけようとしています。開発中は永続的にも問題ありません。または、ウイルス対策スキャンにギャップ ping ホールを残さない回避策でさえ素晴らしいでしょう。

シャドウ コピーを無効にするときに見つけたものはすべて asp.net に関連しており、vb.net 構成ファイルでそれを構成する方法がわかりません。

詳細は次のとおりです。Visual Studio (2010、2012)、Norton Internet Security 22.5.4.24、Outlook 2010、Windows 8.1

前もって感謝します。

JD

0 投票する
0 に答える
234 参照

c# - c# wpf のシャドウ コピーが C++ dll をコピーしていない (アンマネージ コード)

C++ dllも使用するwpf c#のアプリケーションがあります。AppDomain を使用してこのアプリケーションを更新し、ShadowCopyFiles を true に設定しようとすると、キャッシュ フォルダーが作成され、そこからアプリケーションが起動します。ただし、C++ dll (アンマネージ コード) はコピーされず、アプリケーションは元の bin フォルダーからそれらにアクセスします。同じため、C++ dll を更新できません。同様の質問が既に存在しますシャドウ コピー、および混合 C# と C++ DLL が任意のフォルダーから読み込まれますが、適切な回答が見つかりませんでした。

0 投票する
1 に答える
574 参照

windows - シャドウ コピーからのバックアップ

そこで、バッチ スクリプトを使用してシャドウ コピーからバックアップを作成したいと考えています。それは私がこれまで持っているものです:

出力:

findstr によって返された最後の行のパスのみを取得する必要がありますが、どうすればそれを達成できるかわかりません。

そして、パスを取得\して末尾に a を追加した後 (パスが a で終わる場合にのみシンボリック リンクが\作成されます)、それにシンボリック リンクを作成します。

だから、私はその途中で迷っています。

私は答えのあるこの質問を見つけました:

findstr の最終行を出力するバッチファイル

しかし、バッチ構文は混乱していて、私のプロジェクトに適応させるための答えのコード行を理解していません。

誰かが私を助けて、私が何をする必要があるか(またはコードを提供する場合はコード)を詳細に説明してくれるので、貼り付けてコピーするだけでなく、何をしているのかを理解し、改善/変更を加えることができます.

0 投票する
1 に答える
119 参照

c# - シャドウ コピー フォルダに関連する外部コンポーネントの例外

C# から C++ に通信しようとすると、「外部コンポーネントが例外をスローしました」というエラーをスローするアプリケーションがあります (修正: これは C++ から C# です)。C# ソリューションには、問題に関連していると思われる VSTO アドインが含まれています。この問題を再現できるのはユーザーのみであり、この問題の一時的な修正として、マシン上の "AppData\Local\assembly\dl3" シャドウ コピー フォルダーをクリアします。VSTO アドインがそのフォルダに dll をシャドウ コピーとして作成しているようで、それを防ぐ方法はないようです

この問題を解決する方法について誰かアイデアがありますか?

編集: この問題は、C# DLL を呼び出す C++ アプリケーションのネットワーク更新が発生し、別のユーザーがまだログインしている場合にのみ発生します。VSTO アドインによって作成された DLL のシャドウ コピーが存在しない場合は、何もありません。問題。シャドウ コピーが存在する場合、C# アプリケーションが更新されるか、シャドウ コピーが削除されるまで、2 つの製品は通信できません。VSTO アドインを使用すると、シャドウ コピーが再作成され、接続が再び切断されます。

0 投票する
0 に答える
117 参照

c# - IIS での AppDomainSetup.ShadowCopyDirectories の使用

Web サイトで使用する DLL が大量にあります。それらのほとんどは決して変更されませんが、私は頻繁に 1 つを変更します。

私が行うたびに、IIS が再起動している間、サイトが約 5 分間ダウンします。これを減らしたい。

多数の DLL ファイルがあるとシャドウ コピーが遅くなるという記事を読んだことがあるので、ほとんどの場合は無効にしたいのですが、頻繁に変更する DLL で使用したいので、停止せずに変更できます。 IIS。

シャドウ コピーに関するドキュメントでは、AppDomain が作成される前に設定していると想定しているようですが、IIS が AppDomain の作成を処理するため、AppDomainSetup.ShadowCopyDirectories プロパティを使用してシャドウ コピーを行わないように指示する方法がわかりません。メインの /bin フォルダーにあり、/bin/changesFrequently フォルダー内のもののみをシャドウ コピーします。どういうわけかweb.configでこれを設定できますか? シャドウコピー プロセスが開始する前に IIS で C# コードを実行する方法はありますか?

0 投票する
2 に答える
2484 参照

powershell - vssadmin および powershell オブジェクトから配列へ

サーバーから定期的に のデータを取得することを考えています。私はいくつかの調査を行い、どのサーバーがどのディスクで VSS を実行しているかを調べるために、難しいと感じた - または単に正しいコマンドを見つけられなかった.

私が得た締めくくりはこれです:vssadmin list shadowstorageですが、それは私が理解できないpowershellオブジェクトです。'(D:)' のような文字列を検索してその行を取得するために必要な結果が得られます。

ドライブとスペース情報を配列形式で取得したいのですが。

編集:これらのデータを取得したいと思います:

すべて文字列配列になっているので、それで遊ぶことができます。

誰かがこの暗いトピックに光を当てることができれば、私はとても感謝しています.