59

次のアセンブリ ロード エラーが発生しています。アセンブリは、ローカル パス「C:\Program Files\ASWorx Products\ASWorx\Bin\」からロードされます。古いバージョンのバイナリには問題はありません。この問題は、新しいバイナリを電子メールで送信したときに発生します。ビルド設定は変更されません。問題を修正するにはどうすればよいですか? この問題は、Win7 32 ビット マシンで発生します。

File name: 'file:///C:\Program Files\ASWorx Products\ASWorx\Bin\ASConnexDI.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.

   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

   at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks)

   at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)

   at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence)

   at System.Activator.CreateInstanceFromInternal(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo)

   at NeST.ICE.IOSystem.DIManager.InitializeDI()
4

4 に答える 4

114

エラーメッセージのリンクから:

アプリケーションがWebからコピーされた場合、ローカルコンピューター上にある場合でも、WindowsによってWebアプリケーションとしてフラグが付けられます。ファイルのプロパティを変更してその指定を変更するか、要素を使用してアセンブリに完全な信頼を付与することができます。別の方法として、UnsafeLoadFromメソッドを使用して、オペレーティングシステムがWebからロードされたとフラグを立てたローカルアセンブリをロードできます。

ファイルのプロパティを開いて[ブロックを解除]をクリックしてみてください。

プロパティウィンドウ

于 2013-03-06T04:06:29.307 に答える
20

以下のリンクを使用してこの問題を解決し、構成に設定を追加することができます。

https://msdn.microsoft.com/en-us/library/dd409252(VS.100).aspx

<configuration>
   <runtime>
      <loadFromRemoteSources enabled="true"/>
   </runtime>
</configuration>
于 2016-07-19T07:10:56.990 に答える
3

上記の回答に加えて、問題に対する私の解決策をここに示します。

ブロックを解除しようとすると、常にファイルがまだブロックされているように見えました。

そのため、新しいフォルダーを作成し、影響を受けるファイルをコピーして、ファイルごとにブロック解除を実行しました。驚くべきことに、元のファイルの場所で同じアクションを実行する場合と比較して、フラグが削除されました。したがって、最後のステップは、現在ブロックされていないファイルを元の場所にコピーすることでした。終わり!

于 2015-07-14T10:12:42.623 に答える