問題タブ [class-library]
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# - クラスライブラリからProjectのメソッドを呼び出す方法は?
私はクラスライブラリを持っており、プロデューサーとコンシューマーベースのマルチスレッドのクラスがあります。
このGetDataメソッドには、そのクラスの本体がありません。GetDataの代わりにプロジェクトのメソッドを呼び出すにはどうすればよいですか。
ファクトリパターンとリフレクションを試してみましたが、どちらもうまくいきませんでした。plzは、ここからプロジェクトの任意のメソッドを呼び出す方法を教えてくれます。
.net - .net クラス ライブラリ内の別の名前空間の一部である同じ名前を持つ名前空間にクラスを含める方法
わかりました...これは私が説明するのが混乱するので、1つの名前空間と別の名前空間のクラスを示します...
Company.Product.Domain
(これは、そのクラスに固有のメソッドを含むクラスを表します。別の名前空間で同じ名前をどのように使用しているかがわかるように、「ドメイン」と名付けました
Company.Product.Domain.Data.Contracts
(この名前空間は、WCF サービスで使用されるすべてのデータ コントラクト用になります)
私がCompany.Product.Domain
クラスにいて、 内のクラスを使用しようとすると、Company.Product.Domain.Data.Contracts
これを入力しようとすると、インテリセンスに到達しCompany.Product.Domain
、それ以上表示されません。また、名前空間へのアクセスを許可するのではなく、その参照がクラスであることも示しています。
クラスでCompany.Product.Domain.Data.Contracts
参照されています。Company.Product.Domain
Company.Product
その中にクラスを持つ名前空間と、別の名前空間を持つことは可能Company.Product.Domain.Data.Contracts
ですか? もしそうなら、どのように?
ありがとう
c# - 別のクラス ライブラリによって参照されるクラス ライブラリから埋め込みリソースを自動的にコピーする方法は?
これが私のプロジェクト構造です:
- Web アプリケーション プロジェクト
- 同じ Visual Studio 2008 ソリューション内のクラス ライブラリ 1 へのプロジェクト参照があります
- クラス ライブラリ 1
- 同じソリューションにクラス ライブラリ 2 へのプロジェクト参照があります
- クラス ライブラリ 2
- Build Action: Embedded Resource および Copy to Output Directory: Copy Always としてマークされたファイルがあります。
これが私の問題です:
Web アプリケーション プロジェクトをビルドすると、クラス ライブラリ 2 の埋め込みリソースが Web アプリケーション プロジェクトの bin ディレクトリにコピーされません。プロジェクト参照を Web アプリケーション プロジェクトからクラス ライブラリ 2 に直接追加すると、ファイルは bin ディレクトリにコピーされます。
不要な参照を追加せずに、埋め込みリソース ファイルをコピーするにはどうすればよいですか?
c# - クラス ライブラリの構成ファイルは物理的にどこにありますか?
私の推測では、この質問は「当然」のカテゴリに分類されると思いますが、それでも、私は混乱しています。
たとえば、Windows フォーム アプリケーションで構成ファイルを使用する場合、構成ファイルはC:\Program files\CompanyName\ProductName\Application.exe.configにあります。ただし、開発中のクラス ライブラリでは、Visual Studio から (別のプロジェクトと並行して) インストールした後、インストール フォルダーに" ClassLibrary.dll.config " ファイルが表示されません。ファイルはどこにもありませんが、ファイルからのデータの取得は正しく機能しています。さらに、クラス ライブラリ内のメソッドから次のコードを実行すると、予想されるパスC:\Program files\CompanyName\ProductName\ClassLibrary.dll.configが返されます。
誰かが私がここで見逃しているものに光を当てることができれば、それは本当に素晴らしいことです.
.net - C# クラス ライブラリが COM に登録されない
Microsoft Excel で .NET クラス ライブラリにアクセスしようとしています。これを行うには、.NET クラス ライブラリを COM に登録する必要があることを知っています。そこで、アセンブリ情報に移動して、COM Visible を true に設定しようとしました。次に、ビルドタブで、Register for COM Interop も true に設定しました。AssemblyInfo.cs ファイルを確認したところ、次のものが含まれています[assembly: ComVisible(true)]
. しかし、何らかの理由で、Excel で Class Lib への参照を追加しようとすると、名前空間がリストに表示されません。何も入っていない簡単なテスト クラス ライブラリを作成し、同じこと (COM Vis = true を設定し、COM Interop に登録 = true を設定) を行ったところ、利用可能な参照のリストに表示されます。2つのクラスの違いがわかりません。クラスが実際に COM 相互運用に登録されているかどうかはわかりません。これを修正するために私に何ができるか知っている人はいますか???
追加: RegAsm を使用してクラスを手動で登録しようとしましたが、次のメッセージが表示されます..."RegAsm : warning RA0000 : No types were registered"
追加: プロジェクトの出力ディレクトリを確認したところ、プロジェクトのビルド時にタイプ ライブラリ ファイル (*.tlb) が作成されていないことに気付きました。各クラスに独自の GUID 属性があることを確認しました。プロジェクトには、構造体、インターフェイス、または列挙型が含まれていません。
c# - アセンブリ内からサービスを呼び出すにはどうすればよいですか?
C# ライブラリがあります。その中から、同じライブラリ内にあるが Javascript を介して存在する静的メソッドを呼び出したいと考えています。WebResource を使用して C# メソッドを呼び出すことはできますか?
c# - 埋め込みファイルに ServiceReference を追加するには?
クラスライブラリがあります。クラスの 1 つで、次のようにページにスクリプト参照を追加しています。
ServiceReference ファイル パスについて、代わりに埋め込みファイルを追加する方法はありますか? ファイルを Web サイト フォルダーにドロップするのではなく、すべてをクラス ライブラリに自己完結させたいと考えています。
c# - 厳密に名前が付けられたアセンブリを大まかに参照するには、C#アセンブリが必要です
これが問題です。私が働いている会社で使用するために、いくつかのStyleCopプラグインアセンブリを作成しています。そのため、これらのアセンブリは、たとえばMicrosoft.StyleCop.CSharp.dllを参照する必要があります。これは、厳密に名前が付けられています。
問題は、これをビルドしてグループ内の開発者に渡す場合、同じバージョンのStyleCop dll(現在は4.3.3.0)が必要であるか、ロードに失敗することです。
アドオンルールDLLをより独立させるための最良の方法は何ですか?これらの従属StyleCopdllの4.3.3.0バージョンをGACにインストールする必要がありますか?アセンブリ(アプリケーションに対して)はポリシーファイルを使用できますか?
ああ、そして主な問題の1つは、可能であれば、クライアントがインストールしたStyleCopの任意のバージョン(または少なくとも4.3.3.0以降)で動作させたいということです。
よろしくお願いします。
c# - Visual Studio C#: 一部のライブラリで "using" ディレクティブが不十分なのはなぜですか?
シナリオ:プロジェクトに HttpUtility を追加する必要があり、最初に using ディレクティブのコレクションに「using System.Web」を追加しました。ただし、 HttpUtility クラスはまだ解決されず、プロジェクトへの参照を追加する必要があることを (この質問を介して) 発見しました。
質問:他のほとんどのクラスでは "using" ディレクティブで十分なのに、なぜこのライブラリへの参照を追加する必要があるのですか?
c# - クラスライブラリプロジェクトの拡張メソッド
私はいくつかの拡張メソッドを実装し、それらを別のクラスライブラリプロジェクトに配置しました。
クラスライブラリに次のような単純な拡張メソッドがあると想像してくださいMD.Utility
。
App_code
しかし、フォルダーやWebFroms分離コードページのようなWebアプリのどこにも、この拡張メソッドを使用できません。私がこのようなことをした場合:
コンパイラは認識せずIsValidEmailAddress()
、IntelliSenseのサポートもありません。
拡張メソッドをフォルダーに入れると、App_Code
フォルダー内の別の.cs
ファイルApp_code
またはWebFormsコードビハインドページで使用できます。