我在Visual Studio 2017中有一个带有CosmosDbTrigger的Azure Function应用程序。该应用程序是适用于.net 4.6.1的V1。我能够在本地运行该功能并将其发布到Azure。它运行完美。但是,我无法使用VS测试项目在Visual Studio中正确测试它。如果选择Test-> Run-> All Tests,则可以运行单元测试。但是,如果我尝试单独运行或调试CDB功能测试,则它们根本不会启动。没有错误。没有警告。当我尝试在对象资源管理器中检查测试项目对Azure函数应用程序的引用时,出现异常: The project cannot be viewed in the object browser because it is unavailable...
我已验证是否已指定测试.runsettings文件。两个项目都设置为“任何CPU”进行构建。两者都针对.net 4.6.1。我已经清洗并重建了多次。我已经从测试项目中删除了引用,并将其重新添加回去。我已经尝试将x86用作两者的平台目标。我已经从本地计算机上删除了整个.git存储库,并再次从VSO克隆了它。如果将Azure Function App添加为对解决方案中任何其他项目的引用,则对象浏览器会出现相同的异常。解决方案中的所有其他项目引用都可以正常工作,包括测试项目中的其他引用。
要进行故障排除,我创建了两个新的Azure函数。这两个函数都是Empty,V1,目标框架.net 4.6.1,Build-> Any CPU。如果我将一个项目引用从一个添加到另一个,则会得到不同的异常:Value cannot be null. Parameter name: unresolvedReference。如果将这些空项目中的任何一个添加到解决方案中的任何其他项目中,则会得到第一个异常“无法查看该项目...”,无论这两个错误是否相关,我都不知道,但是这很可疑。
我不太担心后一种例外。我之所以提到它,是因为在项目中添加对Azure Function应用程序的引用存在一些问题。有想法吗?