問題タブ [managed-code]
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# - C#アプリケーション内でC++関数をエクスポートする
ご挨拶、ご迷惑をおかけして申し訳ありません。質問を表示します。
Visual Studioで実行されているC#アプリケーションにインポートするために、c++で記述されたいくつかの関数をDLLにエクスポートしようとしています。次のコードで報告されているようにエクスポートを行います。
tobeexported.h:
tobeexported.cpp:
dllは正しく作成されており、コードはすでにCLR管理されており(逆アセンブルソフトウェア(リフレクター)で表示)、エクスポートされた関数が含まれています。次に、c#アプリケーションで「参照を追加」するとdllが見つかりますが、開くとオブジェクトブラウザでは、完全に空であり、クラスもオブジェクトもエクスポートされておらず、使用する準備ができていません。
手伝ってくれませんか?感謝をこめて
.net - マネージ メソッドへの直接呼び出しをどのように抑制しますか?
これが本質的に可能かどうか知りたい:
クラウドのシナリオを考えてみましょう。ユーザーが自分の .net コードを私のサーバーにアップロードできるようにします。ただし、サーバー上で物事を管理するために、ユーザーが HttpWebRequest.Create() などのメソッドを直接呼び出すコードを作成することを許可することはできません。
ユーザーがそのようなコードを書いた場合、それは別の Web サービスに接続しようとしていることを意味します (たとえば)。私の目的は、これらのサービスを別のサーバーを介して提供することですが、メインサーバーは他の着信要求で動作するようにすることです。
HttpWebRequest.Create() の呼び出しをブロックしたい。代わりに、ユーザーがそのような呼び出しを行うためのインターフェイスを提供します。この問題に対してどのような解決策が考えられますか?
PS: 私は .net 2.0 指向です。上位バージョンの取引に回答する場合は具体的に記入してください
c# - .NET コードのコンパイルまたは複雑化?
Q1) なぜ C# は最初に IL にコンパイルされ、次に実行時に JIT にコンパイルされ、仮想マシン上で実行されるのですか (?)。それとも、ネイティブのマシンコードに準拠した JIT ですか?
Q2) 2 番目が正しい場合 (ネイティブ マシン コードに準拠した JIT)、コードが実行される .NET サンドボックスはどこにありますか?
Q3) また、そもそもコードを IL にコンパイルする理由を教えてください。常にネイティブ マシン コードにコンパイルしないのはなぜですか? ngenと呼ばれるMSのツールがありますが、なぜそれがオプションなのですか?
.net - .NET フレームワークに USB ツールが含まれていないのはなぜですか
.NET フレームワークが USB ドライバーを操作するためのマネージ メソッドを提供しないのはなぜでしょうか。私が読んだすべてのことから、Windows API を呼び出す必要があり、マーシャリングと PInvoke を使用する必要があります。.NET がシリアル ポートと通信する方法を提供するのに、USB ポートを提供しないのはなぜですか? USB は現在、シリアル ポートよりもはるかに広く使用されるようになっています。USB をフレームワークに組み込むときではないでしょうか?
c# - ローダーロックを回避するにはどうすればよいですか?
アセンブリを使用するマネージドアプリがあります。そのアセンブリは、管理されていないC++コードを使用します。
マネージC++コードはdll内にあり、他のいくつかのdllに依存しています。これらのDLLはすべて、このコードによってロードされます。(ImageCore.dllが依存するすべてのdllを最初にロードするので、どのdllが欠落しているかがわかります。そうでない場合、ImageCore.dllのロードに失敗したために表示され、ログファイルには理由がわかりません)。
そして、このコードはによって呼び出されます
これは静的コンストラクターです。
私が理解できる限りでは、ImageDocオブジェクトを使用しようとするとすぐに、そのアセンブリを含むdllが読み込まれ、その読み込みの一部として静的コンストラクターが呼び出されます。これにより、他のいくつかのDLLが次のように読み込まれます。良い。私が理解しようとしているのは、静的コンストラクターのためにキックアウトされているこのローダーロックにsmack dabを実行しないように、これらのDLLのロードをどのように延期するかです。
私はこれを見て、これだけをつなぎ合わせました。
- http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/dd192d7e-ce92-49ce-beef-3816c88e5a86
- http://msdn.microsoft.com/en-us/library/aa290048%28VS.71%29.aspx
- http://forums.devx.com/showthread.php?t=53529
- http://www.yoda.arachsys.com/csharp/beforefieldinit.html
しかし、クラスがロードされている時点で発生しない限り、これらの外部DLLをロードする方法を見つけることができないようです。これらのLoadLibrary呼び出しを静的コンストラクターから取得する必要があると思いますが、必要になる前に呼び出す方法がわかりません(ここでの実行方法を除く)。このアセンブリを使用するすべてのアプリに、このようなdllの知識を入れる必要はありません。(そして、それで問題が解決するかどうかはわかりません...。
奇妙なことに、例外はデバッガーの外部で実行されている間ではなく、デバッガー内で実行されているときにのみ発生しているように見えます。
次の問題を実行せずに、これらのDLLをロードするにはどうすればよいですか。
c# - Luabind を C# に変換しますか?
Luabind を C# に変換しようとした人はいますか? そのようなことは可能ですか?
完全に管理された環境で実行できるように変換したいアプリケーションがありますが、ほとんどのゲーム ロジックは Lua スクリプトに依存しており、アプリケーションは Luabind を使用してやり取りを管理しています。私は Lua や Luabind に詳しくなく、何が関係しているのかを知ることができません。
ここで私は愚かな用事ですか?
.net - SQL ストアド プロシージャから (.net マネージ dll から) メソッドを呼び出す - ヘルプ
(SQL Server 2005/2008) のストアド プロシージャから .NET マネージ コード (dll として展開) を呼び出したいと考えていました。
いくつかの解決策が見つかりましたが、機能させることができませんでした:
この場所http://www32.brinkster.com/srisamp/sqlArticles/article_33.htmの記事に記載されている手順に従うと、次のエラー コードが表示されます: 0x80131700
別の記事で、このエラーに対して COM+ サーバー アプリケーションを作成することについて言及されていましたが、それは私たちの環境では不可能です。 http://www.sqlnewsgroups.net/group/microsoft.public.sqlserver.server/topic16144.aspx
これに対して適切に文書化され、試行された解決策はありますか?
.net - .NETでガベージコレクタのメモリを簡単に解放する方法はありますか?
.NETでメモリの解放を高速化する方法があるかどうかを考えていました。.NET(マネージコードのみ)でゲームを作成していますが、重要なグラフィックは必要ありませんが、パフォーマンスを損なうことのないように適切に記述したいと思います。
たとえば、不要になったオブジェクトにnull値を割り当てると便利ですか?これはインターネット上のいくつかのサンプルで見られます。
c# - ネイティブ .NET メソッドまたは user32.dll の GetKeyboardState に相当するものはありますか?
回答:このメソッドに相当するネイティブ マネージはありません。ただし、マネージ コード API の良い例はpinvoke.netにあります。
こんにちは、みんな
「トレース モード」のフラグを受け入れるアプリケーションがあります。トレース モードは、テキスト ボックスを含むフォームをオンにします。テキスト ボックスには、カスタム TraceListener オブジェクトを介して出力が表示されます。コマンドラインに -t が存在する場合、トレース ウィンドウは優先度の低いスレッド内から開かれます。何か問題が発生したときにアプリケーションを診断しようとしているコンサルタントにとって便利です。
何人かのコンサルタントは、起動時にいくつかのあいまいなキーの組み合わせを押すと、トレース モードがオンになり、コマンド ラインに移動して毎回アクティブにする必要がなくなるようにするように要求しました。合理的な要求です。
さまざまなコンポーネントがインスタンス化および初期化されるため、メイン フォームが作成される前に、コンサルタントが気にする多くの重要な情報が Trace に表示されるため、このためのボタンやメニュー項目を提供したくありません。
.NET で現在のキーボードの状態を検出するのに十分単純なはずだと思っていましたが、どこを見ても [DllImport("user32.dll", EntryPoint = "GetKeyboardState", SetLastError = true) を使用するようにアドバイスされているようです。 ] 何が起こっているかを検出する方法として。
それはすべてうまくいっています-私はそれで満足しています。ただし、一般的な経験則として、独自のロールを作成する前に、Windows 関数にネイティブの .NET マネージ コードを使用するようにしています。
ネイティブ .NET メソッドまたは user32.dll の GetKeyboardState に相当するものはありますか?
c# - SQL Server 2008 でマネージ コードを実行する - 問題はありますか?
SQL Server 2008 でマネージ コードを実行する際のパフォーマンスの問題を知りたいです。メモリと速度の問題について聞いたことがあります。
具体的には、SHA256 ハッシュ DLL を実装し、SQL Server 2008 で sproc として実行したいと考えています。
または、単純に .Net アプリからハッシュを実行し、その文字列を sprocs に渡すこともできます。
長所短所?
ありがとう。