Visual studio 无法对Azure函数使用Visual Studio代码覆盖率

Visual studio 无法对Azure函数使用Visual Studio代码覆盖率,visual-studio,azure,code-coverage,azure-functions,Visual Studio,Azure,Code Coverage,Azure Functions,我正在使用Visual Studio 15.3.5和Microsoft.NET.Sdk.Functions 1.0.6 我可以很好地运行测试,但是当我使用代码覆盖率分析测试时,没有分析包含Azure函数的程序集。它未列在代码覆盖率程序集列表中。列出了其他程序集,仅省略Azure函数程序集 有人让它工作了吗?原因是,对于新的项目类型,默认的是可移植的,这意味着生成的pdb将没有CodeOverage所需的信息 下面是如何更改的:在.csproj中,将full添加到中。e、 g.你应该: <P

我正在使用Visual Studio 15.3.5和Microsoft.NET.Sdk.Functions 1.0.6

我可以很好地运行测试,但是当我使用代码覆盖率分析测试时,没有分析包含Azure函数的程序集。它未列在代码覆盖率程序集列表中。列出了其他程序集,仅省略Azure函数程序集


有人让它工作了吗?

原因是,对于新的项目类型,默认的
是可移植的,这意味着生成的pdb将没有CodeOverage所需的信息

下面是如何更改的:在.csproj中,将
full
添加到
中。e、 g.你应该:

<PropertyGroup>
  <TargetFramework>net461</TargetFramework>
  <DebugType>full</DebugType>
</PropertyGroup>

net461
满的
或者您可以从VS中更改此选项:

  • 转到项目上的属性
  • 转到build选项卡,然后单击底部的“Advanced…”按钮
  • 有一个用于调试信息的下拉列表。将其设置为“Full”将使用必要的属性更新项目

原因是,对于新的项目类型,默认的
是可移植的,这意味着生成的pdb将不需要CodeCoverage所需的信息

下面是如何更改的:在.csproj中,将
full
添加到
中。e、 g.你应该:

<PropertyGroup>
  <TargetFramework>net461</TargetFramework>
  <DebugType>full</DebugType>
</PropertyGroup>

net461
满的
或者您可以从VS中更改此选项:

  • 转到项目上的属性
  • 转到build选项卡,然后单击底部的“Advanced…”按钮
  • 有一个用于调试信息的下拉列表。将其设置为“Full”将使用必要的属性更新项目

您能澄清一下“Azure功能组件”是什么意思吗?您是指函数运行时还是您自己的包含函数的程序集?很抱歉,不清楚。我指的是我自己的包含函数的程序集。我会问VS函数专家。作为测试,如果您添加了一个助手库(因此是一个不同的程序集),那么这个助手库是否会包含在代码覆盖率结果中?一个理论是,新的项目系统(project使用的函数)可能会破坏代码覆盖率。您尝试了什么类型的类库项目?如果选择类库(.NET标准)而不是类库(.NET框架),它是否仍然有效?如果不是,这将进一步验证这个理论。你如何看待代码覆盖率?您采取了哪些步骤来了解这一点?您能否澄清“Azure功能程序集”是什么意思?您是指函数运行时还是您自己的包含函数的程序集?很抱歉,不清楚。我指的是我自己的包含函数的程序集。我会问VS函数专家。作为测试,如果您添加了一个助手库(因此是一个不同的程序集),那么这个助手库是否会包含在代码覆盖率结果中?一个理论是,新的项目系统(project使用的函数)可能会破坏代码覆盖率。您尝试了什么类型的类库项目?如果选择类库(.NET标准)而不是类库(.NET框架),它是否仍然有效?如果不是,这将进一步验证这个理论。你如何看待代码覆盖率?你采取了哪些步骤来了解这一点?是的,就是这样。非常感谢你!你知道什么时候/是否会在开箱即用的情况下解决这个问题吗?@Eric对此不确定。我将与代码覆盖人员核实,因为他们可能有理由按照他们的方式设置默认值。@Eric看起来它最终会起作用,但这可能在几个月内不会发生。现在,使用变通方法:)是的,就是这样。非常感谢你!你知道什么时候/是否会在开箱即用的情况下解决这个问题吗?@Eric对此不确定。我将与代码覆盖人员核实,因为他们可能有理由按照他们的方式设置默认值。@Eric看起来它最终会起作用,但这可能在几个月内不会发生。现在,请使用解决方法:)