-1

dllとexeの両方が自分のマシンで作成されています。exeファイルでこのdllを参照していますが、\\ ABC \ App \などの別のネットワークディレクトリ内のフォルダーへのビルドパスまたはデバッグパスを指定し、これをSQLサーバーでジョブとして実行すると、パスを指定するエラーが発生します私のC:\ myname \ My Documents \ Visual Studio 2010 \ Projects \ App \ App\program.csに移動します。参照がまだ反映されていない理由がわかりません。プロジェクトのVisualStudioプロパティのディレクトリを変更し、アクティブ(リリース)モードで実行しました。参照で何が問題になっているのかわかりません。


また、重複した質問ではありませんplz:)これはSQLジョブとリモート実行に固有のものです。いくつかの質問へのリンクは必要ありません。

4

1 に答える 1

2

コンパイルされたプログラムには.csファイルがもうないため、例外には.csファイルの元の場所のパスが含まれます。

これは、ネットワークパスからプログラムを実行するという事実とは何の関係もありません。

言い換えると、プログラムをコンパイルすると、コンパイラはdllと、同じ名前の拡張子pdbのファイルを作成します。たとえば、yourdll.dllとyourdll.pdbです。 コンパイル中に、コンパイラは.csファイルのパスを.pdbファイルに書き込みます。そして、これらは後で例外で見られるパスです。
つまり、これらは固定されており、プログラムをどこで実行しても常に同じになります。

非常に明確にするために:
この動作は仕様によるものであり、エラーではなく、変更することはできません。

于 2012-05-10T07:43:32.693 に答える