問題タブ [fusion]
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.
filter - カルマンフィルターによるセンサーフュージョン
興味がありますが、カルマン フィルターのセンサー フュージョン設定のデュアル入力はどのようにモデル化されていますか?
たとえば、加速度計とジャイロを持っていて、飛行機のように「地平線レベル」を提示したいとします。このようなものの良いデモがここにあります。
2 つのセンサーのポジティブな特性を実際に収集し、ネガティブな特性を最小限に抑えるにはどうすればよいでしょうか?
これは観測モデル マトリックスでモデル化されていますか (通常は大文字の H で表されます)?
備考: この質問は、 math.stackexchange.comでも回答なしで尋ねられました。
.net - 完全修飾 .NET アセンブリ名をプログラムで (特定の .NET バージョンの単純な名前から) 検索しますか?
私の目標は、純粋な C++ ネイティブ Windows API レベル プログラム (マネージド C++ または C++/CLI ではない) から .NET Windows フォーム メッセージ ボックスを表示することです。
つまり、学習目的で、以下のコメントに示されている C# コードを純粋な C++ で実装したいと考えています。
計画は、アセンブリをロードした後、MessageBox
クラスに進み、呼び出しShow
ます。ただ、これは間違ったやり方かもしれません。したがって、アセンブリの完全修飾名を見つけずに(もちろん、その完全修飾名をハードコーディングせずに)それを行う方法を示す回答にも同様に満足しています。
このgacutil
ユーティリティは明らかに完全修飾名を見つけることができます:
ただし、前述のように、何もハードコードしたくありません。C++ コードにハードコードされた .NET 情報は、上部のコメントに示されている C# ソース コードと、サポートされている最小の .NET バージョンを超えてはなりません。
ティア、
.net - アセンブリ バインド エラー - Fusion ログと依存関係ブラウザーの不一致
最近発生したアセンブリの読み込み/バインド エラーを追跡しています。調査中に、紛らわしい矛盾が見つかりました (融合ログを正しく解析していると仮定して)。
起動時にアプリケーションによってスローされる例外は次のとおりです。
{"ファイルまたはアセンブリ 'Microsoft.Practices.CompositeUI, Version=1.0.51205.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 HRESULT: 0x80131040)":"Microsoft.Practices.CompositeUI、バージョン = 1.0.51205.0、カルチャ = ニュートラル、PublicKeyToken = 31bf3856ad364e35"}
最近行ったいくつかのプロジェクトの変更では、厳密な名前のアセンブリ "Microsoft.Practices.CompositeUI" は必要ありません。すべてのソリューション プロジェクトが実際に署名されていないアセンブリを参照していることを確認した後、依存関係ブラウザーを起動して、何も不足していないことを確認しました。すべてがチェックアウトされ、古いアセンブリへの「古い」参照がないことを確認しました。もちろん、プロジェクトもクリーンアップして再構築しました。
次に、さらに調査し、フュージョン ログ ビューアー (Fuslogvw.exe) を起動して、バインド エラーを表示するように構成しました。ログを確認したところ、バインディング エラーが見つかりました。詳細ログは混乱の始まりです。「呼び出し元のアセンブリ」は、欠落しているアセンブリへのバインドがない (私が判断できる) アセンブリとしてリストされています。ああ、説明するのは難しいです。ログは次のとおりです。
* アセンブリ バインダー ログ エントリ (11/15/2010 @ 7:00:18 PM) *
操作に失敗しました。
バインド結果: hr = 0x80131040。説明はありません。
アセンブリ マネージャーの読み込み元: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll 実行可能ファイル C:\Program Files\PMT\Office App\1.1.1.7\OfficeApp.exe の下で実行
--- 詳細なエラー ログが続きます。
=== プレバインド状態情報 ===
ログ: ユーザー = PMD\sklett
ログ: DisplayName = Microsoft.Practices.CompositeUI、バージョン = 1.0.51205.0、カルチャ = ニュートラル、PublicKeyToken = 31bf3856ad364e35 (完全指定)
ログ: Appbase = file:///C:/Program Files/PMT/Office App/1.1.1.7/
ログ: 初期 PrivatePath = NULL
ログ: 動的ベース = NULL
ログ: キャッシュ ベース = NULL
ログ: AppName = OfficeApp.exe
アセンブリの呼び出し: Microsoft.Practices.EnterpriseLibrary.Common、Version=4.1.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35。
===
ログ: このバインドはデフォルトのロード コンテキストで開始されます。
ログ: アプリケーション構成ファイルの使用: C:\Program Files\PMT\Office App\1.1.1.7\OfficeApp.exe.config
ログ: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config のマシン構成ファイルを使用しています。
ログ: ポリシー後の参照: Microsoft.Practices.CompositeUI、Version=1.0.51205.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35
ログ: GAC ルックアップに失敗しました。
ログ: 新しい URL ファイルのダウンロードを試みています:///C:/Program Files/PMT/Office App/1.1.1.7/Microsoft.Practices.CompositeUI.DLL。
ログ: アセンブリのダウンロードは成功しました。ファイルのセットアップを試みています: C:\Program Files\PMT\Office App\1.1.1.7\Microsoft.Practices.CompositeUI.dll
LOG: run-from-source セットアップ フェーズに入ります。
ログ: アセンブリ名: Microsoft.Practices.CompositeUI、Version=1.0.51205.0、Culture=neutral、PublicKeyToken=null
WRN: アセンブリ名を比較すると、不一致が発生しました: PUBLIC KEY TOKEN
ERR: アセンブリ参照が見つかったアセンブリ定義と一致しませんでした。
ERR: アセンブリのセットアップを完了できませんでした (hr = 0x80131040)。プローブが終了しました。
現在、呼び出し元のアセンブリ "Microsoft.Practices.EnterpriseLibrary.Common" には、"Microsoft.Practices.CompositeUI" への依存関係が (依存関係ブラウザーを介して) リストされていません。それだけではありません。
フュージョン ログが私の足を止めました。フュージョン ログが混乱を引き起こしました! ;0)
うまくいけば、賢明な専門家が私が欠けているものを手がかりにするのに十分な情報を提供したことを願っています.
.net - 複数の実行可能ファイルに対してassemblyBindingを1回構成します
複数の実行可能ファイルを含むフォルダーがあります。現在、アセンブリバインディングリダイレクトは各executable.exe.config
ファイルで構成されています。これを一度だけ構成し、そのフォルダー内のすべての実行可能ファイルがこれを自動的に取得する方法はありますか?これはコンピューター全体に適用されるため、machine.configは避けたいと思います。
c# - IntPtr.ToInt32()Marshal.ThrowExceptionForHR()-GACのクエリ
ネット上で見つけたコードを使用して、fusion.dllを使用してGACにクエリを実行してきましたが、最近、OverflowExceptionを訴えるエラーレポートがいくつか返されています。
問題のあるコードは、実際にはInt64であるときにIntPtrをInt32に変換しようとしている場合ですが、問題はMarshal.ThrowExceptionForHRがInt32のみを受け入れるため、何をすべきかについて少し行き詰まっています。現時点では例外を処理しているだけですが、それを行う正しい方法を知りたいのですが。
マーロン
c# - 解決するアセンブリが見つかりません | FileNotFoundException | 融合ログ
ソリューション パッケージ (wsp) を SharePoint 2007 環境に展開しようとしています。WSP には、フィーチャー レシーバー クラスをロードして、実行時にタイマー ジョブを展開する機能が含まれています。
この WSP を展開している間、一貫して取得しています
イベント レシーバー アセンブリ "XXX、Version=1.0.0.0、Culture=neutral、PublicKeyToken=bad6857072694970" の読み込みに失敗したため、機能 'fb631f6c-2c46-4ab5-b7b3-f3d0c949c5f0' をインストールできませんでした: System.IO.FileNotFoundException
すべて (公開鍵トークン、アセンブリ名など) が正しいことを再確認しました。過去に多くの WSP を展開しましたが、なぜこれが失敗するのか混乱しています。
これをデバッグするために、Assembly Binding Log Viewer を使用しています。「ログイン例外テキスト」を選択し、カスタム ログ パスを指定しました。ログメッセージも表示されず、例外テキストにも一貫して次のメッセージが表示されます。
WRN: アセンブリ バインディングのログがオフになっています。アセンブリ バインド エラーのログを有効にするには、レジストリ値 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) を 1 に設定します。この機能をオフにするには、レジストリ値 [HKLM\Software\Microsoft\Fusion!EnableLog] を削除します。
なぜこれが起こっているのでしょうか?アセンブリ バインド ログの表示を有効にするにはどうすればよいですか?
iis-6 - マネージドFusionIIS6のキャッシュ500エラー
ManagedFusionを使用してサードパーティのサイトをサブディレクトリにリバースプロキシするサイトを実行しています。何度かサードパーティのサイトがダウンし、500エラーが発生しました。これ自体は問題ではありませんが、IISは500エラーをキャッシュしているようです。そのため、サードパーティのサイトがバックアップされている場合でも、リバースプロキシを介してサイトを表示するとエラーが発生します。これを修正する唯一の方法は、WWWサービスを再起動することです。サイトのパフォーマンスを損なうことなくこのキャッシュを防ぐ方法はありますか?
.net - フィーチャー レシーバー アセンブリへの参照を保持する SharePoint の OWTIMER サービス
SharePoint では、フィーチャー レシーバーを使用して、フィーチャーがインストール/アンインストールされたときにいくつかのアクションを実行できます。
フィーチャー レシーバーは OWSTIMER サービスから実行され、プロセスは大まかに
- .wsp (cab ファイル) を解凍して調べる
- .dll は bin/gac に移動されます
- マニフェストでマークされた機能レシーバーは、サービスによって呼び出されます (GAC でのみ可能)。
ただし、OWSTIMER は、フィーチャー レシーバーを含む dll でハンドルを開いたままにします。
つまり、機能をアンインストールすると、Fusion は dll を c:\windows\temp\ ディレクトリに移動し、引き続き参照を保持します。(詳細はこちらとこちら)
次に、新しいバージョンをインストールしようとすると (アセンブリ ファイルのバージョンは異なりますが、アセンブリのバージョンは同じままにする必要があります)、OWSTIMER は OLD 機能レシーバーを実行します。
OWSTIMER サービスを再起動することでこの発生を停止できますが、多くの Web サーバーが存在する可能性がある実稼働ファーム環境では実用的ではありません。
回避策を知っている人はいますか?
winforms - .NET 2がインストールされていない場合、.NET 2WinFormsアプリケーションをコンパイルして.NET4で実行することはできますか?
最近、私が書いた小さな.NET2.0アプリケーションが彼のWindows7コンピューターで実行されなかったという顧客からの苦情がありました。
c:\Windows\Microsoft.NET\Framework\v2.0.50727
調べてみると、彼のマシンにはフォルダがなく、V4.0用のフォルダだけであることがわかりました。
私はそのような星座が可能でさえあることに気づいていませんでした。
私の質問:
クライアントマシンに.NET2ランタイムが見つからない場合、.NET 4ランタイムを使用するようにアプリケーションに指示することはどういうわけか可能ですか?
.net - アセンブリバージョンの読み込みの問題とSQLCE
SQLCE3.5と.NET3.5のEntityFrameworkを利用するアプリケーションがあります。
SQL CE 3.5 SP2 RTMで既知の問題が発生し、アプリケーションがクラッシュしました。その結果、この問題に対処していると思われるCummulativeUpdate2を入手しました。
アプリケーションでXCopyを介してSQLCEを展開したため、ローカルのマネージドDLLとアンマネージドDLLをCU2バージョンに置き換えるだけでうまくいくと想定しました。
SQL CEが事前にマシンにインストールされている(したがってGACにある)場合、アプリケーションは新しいバージョンのアセンブリとDLLを無視し、古い壊れたバージョンをGACからロードします。
SQL CEをアンインストールする(したがってGACから削除する)か、GACのアセンブリを更新すると、アプリケーションで正しいバージョンを使用できるようになると判断しました。
もっと良い方法はありますか?Assembly.LoadFileを試しましたが、うまくいかなかったようです。(両方のバージョンがロードされましたが、実際に使用されていたのは古いバージョンでした。)