問題タブ [unmanagedresources]
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.
c# - C# を使用して管理されていない dll からリソースを読み取る
.resources ファイル内のリソースを別のリソースに交換するコマンド ライン ツールを C# で作成しました。ResourceReader と ResourceWriter を使用します。
dll ファイルに対しても同じことをしたいのですが、これを行う方法が見つかりません。Reflection を使用してみましたが、それは .net (マネージド) DLL でのみ機能します。私が使用しているほとんどの dll は、他のもので構築されています。
私は一生、これを行う方法を理解することはできません! Resource Hacker のようなものがそれを行うので、それは可能であるに違いありません。
誰でも助けてもらえますか?
ありがとう
wpf - -1073740771 の終了コードで終了するアプリケーション
私は WPF アプリケーションを持っていますが、終了コード -1073740771 で終了することがあります。この問題はどのようなパターンでも発生しておらず、システムによって異なります。一部のシステムでは、問題が全体の 10% 未満で発生していますが、別のシステムでは、全体の 30% 近くの割合で問題が発生しています。確実な再現手順を形成することができず、ランダムに発生しているようです。
症状には、閉じるボタンをクリックした後、アプリケーションは終了しますが、タスク マネージャーでは、プロセスが約 20 ~ 30 秒間残ってから終了します。アプリケーションは (機能的な観点から) 正常にシャットダウンしているように見えるため、それを使用している顧客にはあまり影響しないかもしれませんが、エラー コードがログに記録されており、かなり厄介です。
この問題は、Visual Studio からデバッグしているときにも発生していますが、try - catch ブロックで例外がキャッチされていません。
sbt - sbt: マルチ プロジェクト ビルドでリソースをクラスパスにコピーする
次の構造の sbt プロジェクトがあります。
project
serverProject
と の両方を集約しclientProject
ます。sbt の起動とコンパイルは問題なく動作します。
実行またはパッケージ化するときは、のクラスパスserverProject
になりたいです。file.json
serverProject
forに追加file.json
しましたが、/ パッケージを実行しようとすると次のエラーが発生します。unmanagedResources in (Compile)
serverProject
sbt は、プロジェクトのルート ディレクトリと serverProject ディレクトリの両方を候補として見つけたfile.json
後、失敗したようです。
このエラーを回避するにはどうすればよいですか?
読んで助けてくれてありがとう!
c# - ハンドルが指しているオブジェクトがC#で既に破棄されているかどうかを調べる方法は?
私は、C# でアンマネージ オブジェクトを安全かつ効率的に破棄するためのコードに取り組んできました。これは、イメージで作成された Bitmap オブジェクトです。Dispose() を呼び出す前後にハンドルを追跡して、メモリ内のイメージの状態を確認するのが好きです。Dispose() が呼び出された後、ハンドルがまだ有効なオブジェクトを指しているかどうかを確認する良い方法はありますか?
c# - C# アプリケーションを強制終了し、管理されていないリソースを解放する
アプリケーションのある時点で、ファイルを保存したいのですが、アプリを終了できない場合は、失敗の理由を表示し、管理されていないリソースをすべて解放します。これは、ディストラクターを介して行われます。
デバッグとステップバイステップ (F11) 実行を使用しているときに、コードでディストラクターが呼び出されていないことがわかりました。管理されていないリソースは解放されていますか、または情報を保存できず、アプリを終了する必要がある場合にディストラクターが呼び出されるようにする方法はありますか?
c# - アンマネージ リソースを他のクラスに渡す
アンマネージ リソースを使用する場合、それらを他のオブジェクトに渡すためのベスト プラクティスは何ですか? アンマネージ リソースを作成して破棄するのはクラスの責任であることは理解していますが、リソースをコンストラクタに渡した場合、リソースは永続化されます。コンストラクタは、オブジェクトの存続期間全体で使用するためにプライベート フィールドに配置します。
たとえば、次のシナリオを考えてみましょう。
この状況で、ベスト プラクティスはどれですか。後で使用するためにプライベート変数に渡す方が確かに簡単に記述できますが、これによりリソースの破棄に問題が発生しますか? この例ではメソッドが 1 つしかないため、後者の方が優れているように見えますが、リソースを使用するメソッドが 10 ~ 15 個あり、リソースを必要とする他のクラスが呼び出されると、非常に面倒になる可能性があります。
過去にメモリ リークの問題が発生しましたが、それがアンマネージ リソースの処理方法であるかどうかはわかりません。アンマネージド リソースを引数で渡すように変更したのですが、50 個ほどのメソッドで引数になってしまい、面倒でした。