2

私は Azure 開発に関してはまったくの初心者です (または、実際には、Windows と .Net に関係することなら何でも)、ご容赦ください...


私は日常的に Windows を使用していないので、このプロジェクトでは、開発を行う Windows 7 VirtualBox インスタンスをセットアップしました。ホスト OS のコード ディレクトリを VM と共有しており、VM はそれをネットワーク共有としてマウントしています (これは、E:\またはそれ\\VBOXSVR\に依存して表示されます)。

私が直面している問題は、ワーカー ロールを Azure コンピューティング エミュレーターで実行しようとすると、次のエラーで停止することです。

Microsoft.WindowsAzure.ServiceRuntime Critical: 201 : Role entrypoint could not be created:
System.IO.FileLoadException: Could not load file or assembly 'file://\\VBOXSVR\XXX\YYY\csx\Debug\roles\WorkerRole\approot\WorkerRole.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
File name: 'file://\\VBOXSVR\XXX\YYY\csx\Debug\roles\WorkerRole\approot\WorkerRole.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)
   at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.CreateRoleEntryPoint(RoleType roleTypeEnum)
   at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.InitializeRoleInternal(RoleType roleTypeEnum)

そのリンクをたどると、追加するように指示されたページが表示されます。

<loadFromRemoteSources enabled="true" />

あなたの設定ファイルに。それを worker ロールの app.config に追加して、次のようにしました。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <runtime>
        <loadFromRemoteSources enabled="true"/>
    </runtime>
    ... 
</configuration>

しかし、実行しようとすると、同じエラーメッセージが表示されます。

4

1 に答える 1

-1

VM で Azure プロジェクトを実行していませんが、ホスト マシンでソース コードを実行しています。しかし、私の知る限り、Azure ローカル エミュレーターには管理者権限が必要です。VS の共有フォルダーのソリューションを開くだけで、VM からホスト マシン上のアプリケーションをデバッグしようとしたが、失敗したため、これが私が推測する理由である可能性があります。

于 2012-01-31T06:13:17.113 に答える