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

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

関連記事

ADO.NET Entity Data Model をOracleで使う

かれこれ数ヶ月のエラー 以前、会社のノートPCのHDDをSSDに変えたわけですが、それからずっと、あるエラーに悩まされておりまして・・・ その内容は、 エラー 175: 不変名が ‘Ora …

[C#]文字を繰り返したものを取得したい。

いちいちfor文とかで繰り返すのも効率が悪いなと思ってたので、処理を関数化・・・ ただ、共通関数として登録しないので、別のところで使いたい場合は、同じ関数が複数登録されちゃうことに・・・ 更には、思い …

Visual Studio 2008 が重い件について(暫定対応)

現象 とにかく重い。 重いと一言で言うけど、重いという内容は色々含んではいる。 起動が遅い スクロールすらカク付く 右クリックのコンテキストメニューが表示されるまで数秒待たされる 定義の移動に時間がか …

DLLのプロパティのブロック解除をして、ダウンロードしたプログラムを起動出来るようにする

よくありますよね・・・ いや、普通は無いかも・・・ 今、開発中のプログラムなんですが、正式なビルドはサーバーで実行してる訳です。 で、各自がアップロードされたEXE等をDLして最新の実行環境としてる。 …

[C#]ToStringメソッドで簡単に桁区切りを実現する方法

結論 ToStringメソッドと書式設定で解決。 int a = 1; int b = 1; int ab = a * b; string c = ""; //「1」になる c = …


カテゴリー