Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 为什么Azure实例上不存在某些特定于Azure的程序集?_.net_Deployment_Azure_Assemblies_Gac - Fatal编程技术网

.net 为什么Azure实例上不存在某些特定于Azure的程序集?

.net 为什么Azure实例上不存在某些特定于Azure的程序集?,.net,deployment,azure,assemblies,gac,.net,Deployment,Azure,Assemblies,Gac,Azure角色可能需要一组特定于Azure的.NET程序集,如Microsoft.WindowsAzure.ServiceRuntime和Microsoft.WindowsAzure.StorageClient。事实证明后者是,因此我必须在VisualStudio项目中将“Copy Local”设置为“True”,以便它进入服务包并部署到Azure。如果我不这样做,程序集就不存在,缺少的依赖项将阻止我的角色启动 这对我来说毫无意义。要么只是个虫子,要么我不了解大局 Azure实例GAC中不存在密

Azure角色可能需要一组特定于Azure的.NET程序集,如
Microsoft.WindowsAzure.ServiceRuntime
Microsoft.WindowsAzure.StorageClient
。事实证明后者是,因此我必须在VisualStudio项目中将“Copy Local”设置为“True”,以便它进入服务包并部署到Azure。如果我不这样做,程序集就不存在,缺少的依赖项将阻止我的角色启动

这对我来说毫无意义。要么只是个虫子,要么我不了解大局


Azure实例GAC中不存在密钥程序集,而我必须将它们与我的服务包一起携带,这有什么好的原因吗?

这些密钥Azure程序集不是.NET Framework的一部分-这就是它们不在GAC中的原因。也许将来它们会被添加到.NET框架中

Azure并非仅用于运行.NET代码。例如Java、PHP、node.js、python等。在VM角色实例中添加特定于.NET Azure实现的程序集是没有意义的

是的-当我第一次在Azure上启动时,这也是一个烦恼,但如果您在没有Azure SDK的情况下将此本地发布到计算机上,情况也是如此

是否有一个很好的理由说明为什么Azure实例GAC中不存在密钥程序集,而我必须将它们与我的服务包一起携带

我想指出的是,并不是每个项目都需要使用存储,所以存储组件没有预先安装是有道理的。只需少加载一个程序集,您就可以获得微小的性能改进。但每个项目都需要与WindowsAzure运行时集成。因此,运行时程序集是预先安装的。根据我的经验,默认情况下,当我们创建Windows Azure web/worker角色时,存储程序集引用会自动将copy local设置为true。因此,我们不需要做额外的任务来让它工作

致以最良好的祝愿


Xu Ming.

Microsoft.WindowsAzure.ServiceRuntime.dll(最重要或“关键”程序集)位于GAC中。只有存储客户端不在GAC中。@dunnry:是的,这种不一致性更令人困惑。在部署之前,我总是使用这个很好的工具。确实,我们不需要做任何事情来使它工作,但程序集会使服务包膨胀。并不是说这是一个非常严重的问题,我只是想指出,在GAC中没有它会带来负面后果。非常感谢您的反馈。您还可以在上提交功能请求。