問題タブ [regasm]
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# - regasm.exeがc#アセンブリを間違ったGUIDで登録するのはなぜですか?
Delphi(win32ネイティブ)アプリケーションからCOMを介して呼び出すac#アセンブリがあります。
これは、1台を除いて、テストしたすべてのマシンで機能します。
問題は、COMオブジェクトを作成しようとすると、Delphiアプリケーションが「クラスが登録されていません」と表示されることです。
さて、下のレジストリを見ると、HKEY_CLASSES_ROOT\DelphiToCSharp\CLSID
そこにリストされているGUIDは、AssemblyInfo.csのアセンブリGUIDと同じではありません。それは同じである必要があります-それはそれがインストールされている他のすべてのコンピュータで同じです。
を試しregasm /unregister delphitocsharp.dll
ましたが、レジストリキーが削除されます。次に、そうするとregasm delphitocsharp.dll
、レジストリキーが返されますが、GUIDは以前と同じです(つまり、間違っています)。それでもDelphiは「クラスが登録されていません」と表示されます。
動作中のマシンのDelphiToCSharp.dllは、動作していないマシンのバージョンと同じです(md5で確認済み)。
私が考えることができるのは、古いバージョンのdllが以前に登録されていて、レガスムを混乱させているそのファイルの残りがまだ存在しているということだけです。
この問題を修正または少なくともさらに診断するにはどうすればよいですか?
msbuild - nant スクリプトを使用して msbuild を実行し、アセンブリを登録する際の問題は何ですか?
NAnt スクリプトから MSBuild を実行しています。アセンブリの 1 つを に登録しようとするとcom interop
、スクリプトがスタックしたように停止します。
regasm.exe
アセンブリで実行すると、成功します。まったく同じパラメーターを使用してコマンドラインから MSBuild 自体を実行しても、正常にビルドされます。
NAnt スクリプトを使用して MSBuild を実行し、アセンブリを登録する際の問題は何ですか? それは許可でしょうか?
c# - PCに複数のアセンブリがある場合、どの製品の.netアセンブリが登録されているかを確認するにはどうすればよいですか?
自分のマシンで作業しているソフトウェア製品のさまざまなバージョンのコードがあります。製品には、com相互運用機能に登録されている1つ以上のアセンブリが含まれています。現在登録されているものを確認するにはどうすればよいですか?
.net - .net アセンブリが同じ場所になくなったときに登録を解除するにはどうすればよいですか?
com 相互運用用に登録された dll があるため、HKLM\Software\Classes\CLSID[my guid]\InprocServer32[my version no]\Codebase の下に、登録された dll のパスがあります。ただし、フォルダー構造を再配置したため、パスが正しくなくなりました。そのdllを元に戻さずに登録解除してから登録解除してから、ファイルを再度削除する方法はありますか?
その dll がもうない場合、またはバージョン番号が異なる 1 つしかない場合はどうなりますか?
.net - vb6から.netアセンブリを呼び出すと、ランタイムエラー424が発生します
vb6から.netアセンブリを呼び出す際に問題が発生し、SOが役立つことを期待していました。
VB.netで、ComClassを作成し、デフォルトのコンストラクターとGUIDを保持しました。デプロイするとき、VB6exeと同じフォルダーにあるdllをREGASM.exeします。.net dllは、他の2つの.net dllを参照しますが、どちらも同じフォルダーにあります。
VB6関数CreateObject()を使用して.netアセンブリをロードしようとしています。VB6 exeを実行すると、次のエラーが発生します
これは、Windows2000サーバーで発生しています。XPボックスでオブジェクトを作成することはできますが、2つのボックスの状態がどれほど異なるかは正確にはわかりません。
何か考えがあれば、よろしくお願いします。ありがとう
c# - C#: COM DLL のすべてのクラスのレジストリ エントリを生成する Regasm?
私は C# でクラス ライブラリ (IE BHO) を作成しており、現在、REGASM の生成されたレジストリ キーからの不要な出力と思われる大量のものと格闘しています。
短いバージョンは次のとおりです。少数のクラス (現在は 1 つのクラス) を IE (および残りの COM) に公開したいだけです。ClassInterfaceAttribute と GUID がセットされているクラスは 1 つだけで、アドオンがこのクラスの COM レジストリ キーのみを必要とすることをテストできますが、REGASM はプロジェクト全体のすべてのクラスの GUID とレジストリ キーを生成します。
クラス名が絶対に存在する必要がない限り、ユーザーのレジストリにクラス名を配置したくないので、これは面倒でやや不安です。
公平を期すために、IEのデバッグブラックホールを回避するために、同じソリューションの別のプロジェクトのドライバーアプリでそれらを使用しているため、これらの他のクラスの多くはパブリックとしてマークされています...
私はまだ一般的に(特に.Netに関連して)COMに対して非常にグリーンであり、他のすべてのクラスをレガズムから隠す最良の方法は何だろうかと思っていましたか? または、少なくとも、COM フラグを設定していないのに、パブリックとマークされているにもかかわらず、これらのクラスが表示されるのはなぜですか?
ありがとう!
c# - RegAsm.exe と regsvr32 の違いは何ですか? regsvr32 を使用して tlb ファイルを生成するには?
regsvr32 と RegAsm の違いを教えてください。私の Dll は C# にあるのですが、どうすればクラスを C++ にインポートできますか?
c# - C#dllのDllRegisterServer?
C# dll の DllRegisterServer と同等のものはありますか? COM コンポーネントを作成していますが、dll を regasm するときにカスタム コードを実行したいと考えています。
c# - Regasmをリモートで実行しますか?
リモートコンピューターにプッシュして登録する必要があるC#COMコンポーネントがあります。これがRegasmを介して可能かどうか誰かが知っていますか?
c# - Delphi での .NET アセンブリの使用
現在、デルファイで .NET アセンブリを開いて使用する必要があります。私が使用しようとしているアセンブリには、使用しているオブジェクトのアセンブリもあります。オブジェクト アセンブリでは、regasm を使用してタイプ ライブラリを作成できました。また、SN を割り当てて GAC に登録することもできました。
現在、Delphi で使用しようとしているメイン アセンブリを使用して、regasm を使用しようとすると、「Regasm : エラー RA0000 : 入力アセンブリ [場所] またはその依存関係の 1 つが見つかりません」というエラーが表示されます。場所とファイル名を調べましたが、問題はありません。私はどこかでステップを逃していますか?