0

アプリケーションに IronPython を埋め込んでいます。すべてうまくいきますCreateScriptSourceFromFileが、ファイルを実行するために使用すると、IronPython が他のインポートされたモジュールをキャッシュしているように見えます。

たとえば、次のような別のファイルがありますfoo.py

foo = 'foo'

そして、IronPython ホスティング API を使用して実行しますbar.py

from foo import foo
print foo

ホスト アプリケーションを終了せずに thenに変更を加えるとbar.py、変更が反映されていることがわかります。しかし、編集した場合foo.py、変更を確認するにはアプリケーションを再起動する必要があります。オプションですでに有効Debugにしましたが、役に立ちません。

ご意見をお聞かせください。どうもありがとう。

4

1 に答える 1

2

はい、インポートされたモジュールは ScriptEngine インスタンスによってキャッシュされます。キャッシュされたモジュールを自動的にリロードする場合は、新しいエンジン インスタンスを作成する必要があります。現在、これを無効にして常にモジュールをリロードする方法はありません。

キャッシュ動作を無効にするオプションは悪い考えではありません。それがレーダーに乗るように問題を開きます。もちろん、パッチはさらに優れています。

于 2012-07-24T16:34:11.947 に答える