問題タブ [assembly-references]
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# - ハッシュテーブルと配列リストが必要
Windows 7 Phoneアプリで他の人のC#クラスを使用しようとしています。クラスはHashtable型のオブジェクトを使用します。
問題のファイルには
上部にあるので、それが必要なHashtableオブジェクトだと思います。
ソリューションを構築しようとすると、タイプまたは名前空間の名前「Hashtable」が見つからないというエラーが表示されます。usingディレクティブまたはアセンブリ参照がありません。
MicrosoftのHashtableのドキュメントでは、Assembly:mscorlibと書かれていることがわかります。
しかし、[プロジェクト]> [参照の追加]からmscorlibを追加しようとすると、ビルドシステムによって自動的に参照されるため、VSは追加できないと言います。
私は何が欠けていますか?
.net - 外部アセンブリの使用:配置されたアセンブリのマニフェスト定義がアセンブリ参照と一致しません
私はこの質問がstackoverflowとウェブ全体で答えられているように見えることを知っていますが、私の問題は異なります。
次の設定がある場合、GACを使用しない方法(上司は「いいえ」と言います)を理解しようとしています。
プロジェクトはNHibernateとAntlr3.Stringtemplateを使用します。どちらもサードパーティのアセンブリです。NHibernateにはAntlr3.Runtimeバージョン3.1.3.42154への参照がありますAntlr3.StringtemplateにはAntlr3.Runtimeバージョン3.3.1.7705への参照があります
もう一方が利用できない場合、一方はエラーになります。
リダイレクトをバインドしようとしましたが、publicKeyTokenがバージョン間で異なるため、これは機能しません。最終的に、3.1.3.42154バージョンと一致する公開鍵トークンを持つ3.3.17705を探します。
GACに一方または両方をインストールすると機能します。ただし、上司はGACに何もインストールさせません。
また、バージョン3.1.3.42154のフォルダーを持つLibプロジェクトを含めることにより、両方のDLLをBINディレクトリに配置してみました。常にコピーするように指示したので、/ bin / Lib / 3.1.3.42154 / Antlr.Runtime.dllを取得します。次に、そのディレクトリをプローブするためのプローブ要素を追加しました。これは機能せず、まったく同じエラーが発生しました。
別のサードパーティアセンブリを参照するサードパーティアセンブリをどのように使用できますか?どちらも異なるバージョンを参照していますか?
アップデート:
AppDomain.CurrentDomain.GetAssemblies()は、バージョンがアプリドメインに読み込まれていることを示していますが、3.1.3が見つからないというエラーが表示されます。
以下は、エラーが発生したコードを呼び出す直前にAppDomain.CurrentDomain.GetAssemblies()からロードされたものです。最初の2行はGetAssemblies()の内容であり、3行目はエラーが欠落していることを示しています。
asp.net - ASP.NET がアセンブリ参照を異なる方法で解決するのはなぜですか?
私はいくつかのリードを得るために同様の問題を見つけるのに本当に苦労しましたが、私たちが抱えているケースについて誰も説明していないようです.
バックグラウンド
次の一般的な設計の製品があります。
【ローカルインストールフォルダ】
- 製品機能の大部分を実装する .NET アセンブリのセットが含まれています。
- 例:実装 1.dll、実装 2.dll
【GAC】
- ClientAPI.dll。エンド ユーザーの Visual Studio プロジェクトから参照されるクライアント アセンブリ。ローカル インストール フォルダー内の実装 dll への強力な参照があります。
ClientAPI.dll には、エンド ユーザー プロジェクトを呼び出す必要があるエントリポイントがあります。と呼びましょうInitialize()
。
最初に行うことは、イベントを使用して、Initialize
いわゆるアセンブリ解決ハンドラーを現在のドメインにインストールすることです。AssemblyResolve
このハンドラーは、.dll を使用して、実装 dll を見つけてクライアント プロセスにロードする方法を認識しますAssembly.Load()
。
コンソール アプリケーションを考えてみましょう。次のようになります。
これで、コンソール/Windows フォーム/WPF の世界ですべてがうまくいきました。アセンブリ解決ハンドラーが適切にインストールされて呼び出され、ClientAPI.dll が機能を要求すると、実装 DLL への参照を正常に解決できます。
問題文
そうは言っても、コンソールまたは WPF アプリケーションのみをサポートするつもりはないため、ASP.NET で同じ設計に依存していました。したがって、VS 2010 で新しい ASP.NET Web アプリケーション プロジェクトを作成すると、すべてが次のように簡単になると考えました。
ASP.NET ランタイム ユニバースに 20 ~ 30 時間滞在し、開発サーバーと IIS の両方で上記のことを試してみると、実際には期待どおりではないことがわかりました。
ASP.NET では、ClientAPI
クラスがどこかで参照されるとすぐに、他のアセンブリへのすべての参照が即座に解決されることがわかります。それだけではありません。結果はキャッシュされます (.NET 2.0 以降は設計によるものです)。これは、CLR を支援しようとする機会がまったくないことを意味します。
私たちが試して学んださまざまなことについて詳しく説明することなく、基本的に次の質問に行き着きます。
ASP.NET がこのような参照を解決するのはなぜですか? 他のタイプのアプリケーションが行う方法とは互換性がありません。さらに、外部タイプ/アセンブリへの参照が最初に必要になったときに解決されるように指定されている.NET / CLRランタイムのドキュメントに従っていません(つまり、コードで最初に使用されます)。
どんな種類の洞察/アイデアも高く評価されます!
visual-studio - Visual Studio 11 アセンブリ参照がありません
Visual Studio で最も単純な Metro アプリケーションをビルドしようとしても、アセンブリ参照が見つからないというエラー (エラー WMC1003) が多数発生します。ここから VS 11 をインストールしました: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27543
どんな助けでも大歓迎です!以下は、エラーを特定するビルドの出力の一部です。
.net - アセンブリ参照を無視するインテリセンス
ソリューション内のあるプロジェクトから別のプロジェクトへのプロジェクト アセンブリ参照があります。
VS2010 の Intellisense は参照が存在することを認識していないようです。それは私に与えます
The type or namespace name [assembly-specific part of namespace] does not exist in the namespace [namespace common to both projects/assemblies] (are you missing an assembly reference?)
私のusing
発言の間違いThe name [class in referenced assembly] does not exist in the current context
参照されたアセンブリのクラスを使用した時点でエラーが発生しました。
ただし、参照は実際には問題なく機能します。参照プロジェクトは正常にビルドされ、コードは正常に機能します。
(両方のプロジェクトは同じフレームワークを対象としています。関連がある場合、これは SharePoint プロジェクトであるため、両方のアセンブリが GAC に存在します。参照が実際にあったとしても、これがお互いを「見つける」ことができることを意味するかどうかはわかりません)ない。)
以前に、このアセンブリを他のアセンブリから参照する同様の問題がありました。通常、エラーは、参照を含むファイルが開いている間だけエラー リストに残ります。
すべてがうまく構築されているので、これは本当に迷惑ですが、私は本当にそれを修正したいと思います.
c# - Telerikを認識しない設計者
デザイナーで次のコードを取得しました(自動生成されました)が、Telerikに赤い下線が引かれています。
タイプまたは名前空間Telerikがグローバル名前空間で見つかりませんでした(アセンブリ参照がありませんか?)
c# - C# ListView SelectedIndices および SelectedItems カウントの問題
新しい winform プロジェクトを使用して C# 2010 Express でこれらのメソッドに問題があると、両方のデータ型にメソッド数があり、MSDN で文書化されているようですが、それらを機能させることができないようです。リストビュー コントロール自体は、コンパイル時に問題ないようです。
エラー 1 'System.Windows.Forms.ListView.SelectedListViewItemCollection' には 'Count' の定義が含まれておらず、タイプ 'System.Windows.Forms.ListView.SelectedListViewItemCollection' の最初の引数を受け入れる拡張メソッド 'Count' が見つかりませんでした ( using ディレクティブまたはアセンブリ参照がありませんか?)
エラー 1 'System.Windows.Forms.ListView.SelectedIndexCollection' には 'Count' の定義が含まれておらず、タイプ 'System.Windows.Forms.ListView.SelectedIndexCollection' の最初の引数を受け入れる拡張メソッド 'Count' が見つかりませんでした ( using ディレクティブまたはアセンブリ参照がありませんか?)
両方のデータ型が定義されているようです。また、インデックスは使用できません。
c# - DAL で Microsoft Sql Server Management Objects (SMO) を使用すると、DAL を参照するプロジェクトで SMO dll への参照が必要になるのはなぜですか?
次を使用して、Googleで回答を検索しました。
「タイプ 'Microsoft.SqlServer.Management.Smo.Server' は、参照されていないアセンブリで定義されています。」
DAL で Microsoft Sql Server Management Objects (SMO) を使用すると、参照されるプロジェクトで SMO dll への参照が必要になるのはなぜですか?
参照プロジェクトでの sql smo の使用
階層化されたソリューションでの sql smo
SQL SMO 参照要件
おそらく他にもいくつかあり、この問題の解決策や説明は見つかりませんでした。
確かに、私はジャーニーマン グーグルなので、もし誰かが私をパワーレベルアップして既存のリソースへの道を示したいと思ったら、喜んでそこから探検に行きます。
これが私のセットアップです:
DAL、ビジネス ロジック、サービス、UI という階層化されたソリューションがあります。サービスをホストする hosts プロジェクトがあります。私は実際に VS2010 拡張機能layerguidance.codeplex.comを使用しています。これは非常に優れており、これらすべてのプロジェクトをセットアップしています。SQL Server 2008 Express と SMO v 10 を使用しています。すべてのソリューション プロジェクトは、プロジェクト参照を使用して参照されます。すべてのプロジェクトは、共通の最上位の Bin フォルダーにコンパイルされます。
今問題:
DAL のクラスの中には、SmoTasks
SMO オブジェクトとのインターフェイスを処理するクラスと、パラメーターに SMO オブジェクトを必要とせずに関数Utilities
から抽象化してその関数へのアクセスを提供するクラスがあるため、参照プロジェクト (読み取り: ビジネス ロジック レイヤー) は、SmoTasks
非 SMO タイプ。DAL ではすべて問題なく、コンパイルも問題なく行われ、メソッドはテストに合格しています。私の世界での位置については満足しています。次に、BLL には、Utilities
クラスを使用してサービスを介して公開されるアプリケーションのデータベース構成を実行するコンポーネントがあります。BLL は DAL へのプロジェクト参照を使用し、期待どおりに DAL クラス (インテリセンス) を認識します。ただし、コンパイルすると、次のようになります。
タイプ 'Microsoft.SqlServer.Management.Smo.Server' は、参照されていないアセンブリで定義されています。アセンブリ 'Microsoft.SqlServer.Smo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' への参照を追加する必要があります。
BLL のコードは次のようになります。
エラーが指す行は次のとおりです。
もちろん、SMO 参照を BLL に追加すれば、BLL は問題なく動作しますが、それは疎結合プロジェクトという私の設計目標に反します。SMO アセンブリを BLL に追加すると、コンパイルされ、サービス層で BLL オブジェクトを参照しても問題は発生しません。私の質問は、なぜですか?より具体的には、DALのクラスが既に SMO 型を抽象化しているのに、BLL が SMO への参照を必要とするのはなぜですか?Utilities
私が欲しいのは、DAL でのライブに関連するすべてのデータベース (duh) と、BLL のビジネス ロジックのみ (double duh) です。 私が見落としていた SMO を使用してこれを達成する別の方法はありますか?
貴重なお時間とご回答ありがとうございます。返信をお待ちしております。
編集: Chris の提案に基づいてソリューションを調整し、プロジェクト参照 (私) を使用していることを確認し、Muse.VSExtensions を使用して DAL 内の SMO への参照を再追加し、GAC 参照を追加しました。手動で追加してから、それらのアセンブリが存在することを二重に確認するために、それらのアセンブリに対して Copy Local = True を設定しました...しかし、私はまだこの厄介なコンパイルエラーに悩まされています。
visual-studio-2010 - VS2010と適切なアセンブリの参照(デバッグ/リリース)?
VS2010にMVC3プロジェクト(プロジェクトA)があり、他のプロジェクトの1つ(プロジェクトB)でアセンブリを参照したいと思います。プロジェクトBは\bin\Debugと\bin\Releaseに出力します。プロジェクトAの構成に基づいて、適切なプロジェクトBアセンブリへの参照を追加したいと思います。プロジェクトAのソリューションにプロジェクトBを含めることなく、これを行う方法はありますか?過去にこれを行う必要があった場合、私は常にプロジェクトをソリューションに含めてきましたが、これが唯一の最良のオプションですか?
.net - .Net に必要なアセンブリ参照
C# プロジェクトの 1 つで ReSharper の「参照の最適化」機能を使用したところ、Fluent Nhibernate / Nhibernate への参照のペアが削除されました。そのプロジェクトで直接何も参照していないので、これは完全に有効だと思いました。
ソリューションを再構築すると、次のように迎えられました。
タイプ 'FluentNHibernate.Mapping.ClassMap`1' は、参照されていないアセンブリで定義されています。
プロジェクト (これをAと呼びます) は、Fluent Nhibernate を直接参照していませんが、マッピングに Fluent NHibernate を使用する別のプロジェクトBを参照しています。AでのBの使用に関しては、その中に FNH Map を持つクラスを使用しますが、その内部クラスをA のどこでも使用/参照しません。
.Net プロジェクトがコード内のアセンブリを直接参照していなければ、プロジェクト参照に含まれる必要はないと思いました。それとも、この場合、この仮定は間違っていましたか?