asp.net Azure Web角色生成错误:“无法汇入模块诊断,找不到信息清单”

yxyvkwin  于 2022-11-19  发布在  .NET
关注(0)|答案(3)|浏览(68)

我们有一个配置为在Azure云服务上运行的C# Web应用程序解决方案。这是一个旧的解决方案,在其他工程师的笔记本电脑(已经做了多年)和我以前的笔记本电脑上本地构建得很好。但我有一个新的笔记本电脑,我在那里设置了我的开发环境,但这个特定的解决方案无法构建。
有两个相关的建置错误:

  • 服务定义.csdef中的Unable to import module Diagnostics. No manifest was found.(ccproj项目的一部分)
  • Microsoft Visual Studio开发环境中的应用程序开发环境。

  • ServiceDefinition.csdef* 文件包括以下部分:
<Imports>
    <Import moduleName="Diagnostics" />
    <Import moduleName="RemoteAccess" />
    <Import moduleName="RemoteForwarder" />
</Imports>

如果删除第一行Import,则构建成功。
我已经到处寻找解决方案。在SO上有几个类似的问题,但答案通常归结为Azure SDK的安装,但我可以确认我在此位置安装了此软件:

  • C:\程序文件\Microsoft软件开发工具包\Azure.NET软件开发工具包\v2.9 *

我没办法了。你们谁能帮我?

zhte4eai

zhte4eai1#

问题似乎是由Visual Studio安装程序安装的Azure SDK 2.9缺少诊断插件。在正常工作的(旧)计算机上,转到C:\Program Files\Microsoft SDK\Azure\ .NET SDK\v2.9\bin\plugins,然后将Diagnostics文件夹复制到新计算机上的相同位置。

ig9co6j1

ig9co6j12#

请检查以下步骤是否有助于解决问题:

  • 检查Import Module Diagnostics Code是否在ServiceDefinition.csdef文件中的***WebRole***下。
  • 配置Web.config文件以添加***诊断模块***监听器类型,如下所示:
<system.diagnostics>
<trace>
<listeners>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener,
Microsoft.WindowsAzure.Diagnostics,
Version=1.0.0.0,
Culture=neutral,
PublicKeyToken=31bf3856ad364e35"
name="AzureDiagnostics">
<filter type=""/>
</add>
</listeners>
</trace>
</system.diagnostics>
  • ServiceConfiguration.cscfg中配置Azure存储帐户
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=[youracountnamehere];AccountKey=[youraccountkeyhere]/>
</ConfigurationSettings>
<Certificates>
</Certificates>
</Role>
</ServiceConfiguration>
  • 通过重新安装VS的Windows Azure工具,类似的问题得到了解决。
  • 自Azure SDK 2.4以来,此问题已得到解决,即使不存在依赖于代码的模块,但需要这些模块来收集数据以进行调试。请尝试卸载并重新安装Azure开发工具及其包含的SDK组件,这些组件位于VS:Visual Studio〉工具〉获取工具和功能:

参考资料:

hm2xizp9

hm2xizp93#

我在“缓存”导入中遇到了类似的问题。这对我很有效:
Click to see image
插件文件夹中缺少“缓存”文件夹,所以我从正在工作的机器上复制了它。例如,检查缺少的“诊断”文件夹。

相关问题