DLLのプロパティのブロック解除をして、ダウンロードしたプログラムを起動出来るようにする。ダウンロードしたプログラムが実行できない時の対処法。

投稿日:2017-07-31

よくありますよね・・・

予期せぬエラーってなんだよ(`・∀・´)

特にお客さんの目の前で「デンッ!!」っていうエラー音と共に表示された時の微妙な空気感がたまりません

(╹◡╹)

(^ω^)

:(;゙゚’ω゚’):

こんな感じで心の中はドッタンバッタン大騒ぎになります。

いや、普通は無いかも・・・っていうか、あっちゃダメなんですけどね。

今回は、客先で起こったわけじゃないんですが、今後起こりうえう可能性もあるので、メモとして残しておきましょう。

今、開発中のプログラムなんですが、正式な配布用ビルドはサーバーで実行してる訳です。

で、各自がアップロードされたEXE等をDLして最新の実行環境としてる。

このダウンロードするってのが曲者でした。

普段、機能テストぐらいだと、自分の環境でビルドしたもので済ませてしまうので、わざわざパッケージをDLすることは無いんですが、リリースバージョンの兼ね合いもあって、久しぶりにDLしました。

そしたら、起動できない。

件のプログラムなんですが、メニュー画面があって、ボタンを押すと対応する画面のDLLの呼び出しで画面を起動するんですが、無慈悲にエラーが出ますw

 

原因は?

幸いというか、エラーをログに吐いてくれているので内容を確認すると、下記の内容が。

System.NotSupportedException: ネットワーク上の場所からアセンブリを読み込もうとしました。これにより、以前のバージョンの .NET Framework で、アセンブリがサンドボックス化された可能性があります。このリリースの .NET Framework では、CAS ポリシーが既定で有効になっていないため、この読み込みは危険な場合があります。この読み込みがアセンブリのサンドボックス化を目的としない場合は、loadFromRemoteSources スイッチを有効にしてください。詳細については、http://go.microsoft.com/fwlink/?LinkId=155569 を参照してください。

ƪ(˘⌣˘)ʃ

いや、意味わかんないってw

サンドボックス化ってなんですか?って感じです。

正直、自分の開発スキルは高くないので、こういうエラーには滅法弱いですw

知ってる人には、何てこと無いエラーなんでしょうけど、エラーダイアログしか出ないので、パッと見でそこまで推察は出来ないわ・・・

詳細についてのリンク先も英語のページだったので、一瞬でブラウザのタブを閉じたし。

英語のページはどうにも日本語のページが見つからないような時は、単語を拾いながら読みますが、基本、日本語のページを探し求めます。

困った時のGoogle先生ってことで、ネットワーク上の〜って検索すると出てきました。

方法: Visual Studio で Web からダウンロードしたアセンブリを使用する
https://msdn.microsoft.com/ja-jp/library/ee890038.aspx

 

手順

ファイルのプロパティを開く。

ブロックの解除をクリック。

OK(または適用)ボタンをクリック。

以上。

これだけです。

ネットでDLしてきたけど、動かないっていう原因の一つだと思う。

ただ、面倒くさいのは、コレを全てのDLLに対してやる必要があるってこと・・・

DLLだけで200個くらいあるんですが、何かいい方法は無いものか・・・







-C#, 開発メモ
-, ,


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Excelでシートをコピーする時に、「名前が既に存在します。」と言われるのを回避して、Excel出力を早くしたい。

結論から書いてしまうと、名前の重複を削除しても、Excelの出力は別に早くならなかった。 早くなるという意味だと、手動でシートをコピーした時に、いちいちダイアログの対応をしなくて済むので、自分で作業し …

コマンドプロンプトのFor文で、ファイルの一覧を表示する。

コマンドプロンプトの出力結果を引数として、別のコマンドを実行させる。 なんてことが出来ることは知ってるんだけど、どうやってやるのかは良く分からない。 おもむろにコマンドプロンプトを立ち上げて、以下のコ …

C#で”LC.exe” はコード -1 を伴って終了しました(”LC.exe” exited with code -1)ってエラー

未だに確定した原因は自分で掴めてないんだけど、とりあえずエラーで検索して対策してみた。 どうにも、ビルド時にEXEフォルダ?とかにSRCフォルダからのコピーが上手くいかずにロックされてしまったりすると …

[C#]NumericUpDownコントロールで、上下キーでの値変更を禁止する

結論から言うと、「InterceptArrowKeys」プロパティをfalseにしてやることで解決。 NumericUpDownコントロールを使うメリット 画面構築をしている際、ユーザーの任意入力項目 …

Excelのシートが表示されなくなった時の対処法

Excelのシートが表示されなくなった! なんか、少しだけいつものExcelの画面と違いませんか? 人によっては、見慣れた画面かもしれませんが、左下にあるべきものがありません・・・ ちなみに、シートを …


カテゴリー