3

無料のDelphi .NETコードを介して .NET アセンブリを呼び出す Delphi 5 実行可能ファイルがありますが、ほとんどの場合、これはうまく機能します。ただし、私のアプリケーションの要件の 1 つは、クライアントがローカルだけでなくネットワーク共有からもこれを使用できることです。私のテスト マシンでは、これを機能させることができません。エラー メッセージが表示されるだけです。.NET コードのパーミッションはフルに設定されていますが、Delphi が取得または解釈できないエラーが返されます。ローカル ドライブでは、アプリケーションとアセンブリは問題なく通信します。

少なくともこれからエラーメッセージを取り戻す方法を誰か教えてもらえますか? または、可能であれば、この方法でエラーが発生する理由を誰か教えてもらえますか? ありがとう。

4

4 に答える 4

2

.NET 3.5 SP 1 に更新します。これにより、ローカル イントラネット上のファイルとローカル HDD の WRT コード アクセス セキュリティ (2.0 アセンブリを含む)の区別がなくなります。

于 2008-11-05T00:59:45.423 に答える
2

コードに完全なアクセス許可を与えたと言いましたが、FullTrust をネットワーク共有に割り当てましたか? .NET では、ネットワーク共有はローカル イントラネット ドメインの一部であるため、一部の信頼が失われます。次のように実行します。

CasPol.exe -m -ag 1.2 -url file://\\ShawnFa-Srv/Tools/* FullTrust

詳細については、CasPol を使用して共有を完全に信頼するというトピックに関するこの投稿を参照してください。

于 2008-11-05T00:29:39.150 に答える
0

わかりました。CasPolと.NETFramework構成ユーティリティ(ユーティリティ)の違いと、それぞれがどのように機能しているかを再検討することで答えを見つけました。これは、私自身と同じ問題を抱えていてプロセスを完了していない他の人のためにここに入力している限り、少し長いかもしれません(私が最初にしなかったように)。

最初にCasPolを試し、次にユーティリティを試したとき、新しいレコードを既存の「ゾーン」セクションに入力する必要があることに気づかず、メインの「すべてのコード」セクションの下に新しいセクションとして入力しようとしました。イントラネットゾーンに移動すると、コードが実行されます。

私が試したもう1つの場所である.NETFramework3.5のインストールは、SP1をインストールしていないことを見逃したために失敗しました。SP1をテストマシンにインストールすると、問題も修正されました。この方法は、私たちとクライアントのIT担当者との間のやり取りを最小限に抑えるため、上司が使用することを決定した方法です。

助けてくれた二人に感謝します。時間をありがとうございました。

于 2008-11-06T21:58:47.160 に答える
0

はい、共有に完全な信頼を与えました。それが私が完全な許可で意味したことです。技術者以外の人に説明しなければならないことに慣れすぎています。

于 2008-11-05T00:47:59.580 に答える