問題タブ [strongname]
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# - VS2008 が再コンパイルされたアセンブリの正しい参照を取得しない
私のクライアントは、Microsoft Dynamics RMS をフロント エンドとして使用し、Simply Accounting 2010 by Sage を会計パッケージとして使用する小売業者です。RMS から SA への販売データなどの転記プロセスの一部を自動化しようとしているところです。
RMS は COM を使用してアドインと対話するため、私のアセンブリには厳密な名前が付けられています (RMS のアセンブリもそうです)。ただし、SA のアセンブリには厳密な名前が付けられていないため、SA のアセンブリに厳密な名前を付けようとして、壁に頭をぶつけていました。
だから:私は現時点でildasmとilasmを使用しています.1秒間は動作しているように見えました.必要なアセンブリは厳密に名前が付けられています. メイン アセンブリ Sage_SA.SDK.dll は、Sage_SA.Domain.dll と Sage_SA.Domain.Utility.dll を参照します。これら 3 つの新しい厳密な名前付きアセンブリをすべて VS2008 ソリューションに追加してコンパイルしようとすると、Sage_SA.SDK.dll は他の 2 つのアセンブリを正しく認識できないようです。具体的には、VS2008 のエラー メッセージには次のように記載されています。型 'XXX' は、参照されていないアセンブリで定義されています。アセンブリ 'XXX' への参照を追加する必要があります。
私が提供できる追加情報があれば、私に知らせてください。
ありがとう、
レスター
visual-studio-2010 - GACからアセンブリを参照する方法は?
強力な名前付きアセンブリTestReflection
をGACにインストールしました(.NET4.0とVS2010を使用しています)。
DLLのさまざまなバージョンがTestReflection
.NET4.0(C:\WINDOWS\Microsoft.NET\assembly\GAC_32\TestReflection\
)のGACにありますが、アセンブリはVS2010の[プロジェクト]->[参照の追加]ボックスに表示されません。
設計時にGACにデプロイされたアセンブリを別のプロジェクトから参照するにはどうすればよいですか?
このページには次のように書かれています。
グローバルアセンブリキャッシュ(GAC)は厳密にランタイム環境の一部であるため、参照を追加することはできません。
このステートメントを参照して、必要に応じて、プロジェクトのDLL共有アセンブリを他のコンシューマー用に作成する方法を知りたいですか?
silverlight - COMのアセンブリを登録しましたが、開発用コンピューターでのみ機能します
ねえ、私はあなたたちが何が間違っているのかを見ることができるか/解決策を提案することができるかどうか疑問に思っていました。
C#でビルドしたCOM用のdllアセンブリがあり、SilverlightOut-of-browserからCOMオブジェクトを取得しようとしています。siverlightアプリケーションをコンピューター間で移動できるようにしたいので、必要なすべてのファイルを、アセンブリを登録するために次のことを行うバッチインストーラーと一緒にzipに入れます。
cd%windir%\ Microsoft.NET \ Framework \ v4.0.30319 \ RegAsm.exe "%USERPROFILE%\ My Documents \ Homework Clock \ windowsHook.dll" / tlb / nologo
アプリケーションがアセンブリを検出し、開発用コンピューターで正常に動作しますが、アプリケーションをテストコンピューターに移動すると(dllやその他の必要なファイルとともに)、バッチファイルに正常に登録されたと表示されますが、アプリケーションは検出されません。それ。
ただし、テストコンピューターでC#を使用してアセンブリを再構築し、開発コンピューターから移動したdllを再構築されたdllに置き換えると、アプリケーションはそれを正常に検出します。クライアントが私のアプリケーションを使用したい場合、C#を使用してアセンブリを再構築する必要がなければ便利なので、これを修正する方法があるかどうか疑問に思いました。
この問題をしばらく調べて、アセンブリが強力な名前付きアセンブリではなかったことが原因である可能性があると考えました。C#が自動的にそれを行うと思うので、バッチファイルで実行しようとしましたが、'alを認識できませんでした。アセンブリに厳密な名前を付けるために暗号化キーを生成するために必要な「および」snコマンド。C#プロジェクトプロパティの「署名」タブで実行しようとしましたが、同じ問題が発生しました。これを修正する方法はありますか?
前もって感謝します
.net - .net:アセンブリのバージョンを更新すると、「ファイルまたはアセンブリを読み込めませんでした」と表示されました。厳密な名前のアセンブリが必要です
C# コードを含むアセンブリがあります。このアセンブリのバージョンは 1.0.0.0 です。このアセンブリのデータをバイナリにシリアル化すると、このアセンブリの情報がシリアル化されます。そして、このアセンブリ バージョンを 4.0.0.0 に更新します。**
そして私は署名を削除します
**。アセンブリのデータを逆シリアル化すると、「ファイルまたはアセンブリ '[AssemblyName]、Version=1.0.0.0、Culture=neutral、PublicKeyToken=[TokenKey]' またはその依存関係の 1 つを読み込めませんでした」という例外が発生します。厳密な名前のアセンブリが必要です (HRESULT からの例外: 0x80131044)".
古いバージョンのアセンブリを新しいバージョンのアセンブリにリダイレクトするにはどうすればよいですか? 構成アセンブリのバインドは機能しますか?
.net - 厳密な名前検証のスキップに関する奇妙な問題
私の ASP.NET アプリケーションは、厳密な名前のないアセンブリを使用しています。IE で実行すると、次のようなエラーが表示されます。
'xxxxx' により、ファイルまたはアセンブリをロードできませんでした。またはその依存関係の 1 つ。厳密な名前の署名者を確認できませんでした。アセンブリが改ざんされているか、遅延署名されていても正しい秘密キーで完全に署名されていない可能性があります。(HRESULT からの例外: 0x80131045)」
そのアセンブリをsn.exe -Vr xxxx
登録して厳密な名前の検証をスキップしていましたが、それでもそのエラーが表示されます。この問題の原因は何ですか?それを修正するために次に何ができますか?
c# - Nant 署名エラー: 厳密な名前のアセンブリを表していません
delay-sign コマンドで Nant を実行しようとしていますが、動作していないようです。Visual Studio 内ですべてのライブラリに厳密な名前を付けています。
[プロパティ] > [署名] > [署名] がチェックされ、snk ファイルが選択されている
これは正常にビルドおよび動作しますが、Nant でコンパイルしようとすると、次のエラーが発生します。
[delay-sign] 2 つのアセンブリの遅延署名。
[delay-sign] D:\BuildDir\bin\MyLibrary.dll は厳密な名前のアセンブリを表していません
署名を実行しようとしなければ、この nant ビルドは正常に動作しますが、プログラムは正しく動作しません。私の署名は次のようになります。
これらを厳密に命名するには、何か他のことをする必要があると思いますが、何がわからないのですか。何か案は?ありがとうございました。
c# - アンマネージ C++ DLL に厳密な名前を付けるにはどうすればよいですか?
私は、DLL インジェクション用のEasyHook ライブラリを使用する C# アプリケーションに取り組んでいます。EasyHook では、EasyHook を使用するすべてのアプリケーションに厳密な名前を付ける必要があります。アプリケーションに厳密な名前を付けるには、使用するすべてのライブラリにも厳密な名前を付ける必要があります。
これは、すべてのマネージ ライブラリに対して簡単に実行できますが、厳密に名前を付ける必要があるアンマネージ C++ ライブラリもあります。いくつか検索した後、ソース コードを使用しても、管理されていない dll に署名する方法が見つからないようです。これを行うことができますか?もしそうなら、私は何をする必要がありますか?
提案や支援をありがとう!
c# - 多数のプロジェクトでの強力な名前の再利用
私は、Biztalk2010およびVS2008SSISパッケージを使用する大規模な統合プラットフォームで働いています。各インターフェイスは1つのチームプロジェクト(TFS2010)に保存されます。チームプロジェクトのルートでは、各インターフェイスが一意の名前で作成され、デフォルトの基本的なブランチプラン構造の下に作成されています(該当する場合は、メイン、開発、リリース+ブランチ、ALMレンジャーからのTFSブランチガイドを参照)。
問題は、可能な限りSCAに準拠する必要があり、署名がチェックの一部であるため、各インターフェイスに強力な名前キーが必要なことです。
各インターフェイスに独自の厳密な名前キーを持たせたくはありませんが、すべてのインターフェイスに対して1つの厳密な名前キーのみを使用します。
この種の再利用可能な強力な名前のキー処理を処理するためのベストプラクティスは何ですか?
.net - コードコントラクトにsn.exe4.0の使用を強制する
コードコントラクトリライタは、厳密な名前(sn.exe
)ユーティリティを使用して、リライトされたアセンブリを辞任します。ただし、VS2010の[出力]ペインには次のように表示されます。
Microsoft(R).NETFrameworkストロングネームユーティリティバージョン3.5.30729.1
のバージョン4.0を強制的に使用する方法はありますかsn.exe
。それとも違いはありませんか?
.net - azman - Interop.AZROLESLib.dll を GAC に登録する際の問題
.net フレームワーク構成ツールを使用して Interop.AZROLESLib.dll を gac に登録するのに 2 ~ 3 時間苦労しています。エラーには、「選択したアセンブリを追加できません。アセンブリには厳密な名前が必要です.....」というエラーが表示されます。強い名前やその他のステップを作成するのを手伝ってください。
ありがとう