NCrunch 无法构建引用 Microsoft.Azure.Functions.Worker.Sdk 的项目
NCrunch can't build project that references Microsoft.Azure.Functions.Worker.Sdk
我有一个引用 Microsoft.Azure.Functions.Worker.Sdk
版本 1.0.4 的 Azure Functions v3(dotnet 隔离)C# 项目。当 NCrunch 尝试构建此项目时,它失败并显示消息:..\..\..\..\..\..\program files (x86)\microsoft visual studio19\professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets (1150, 7): The target "NCrunchPrepareForBuild" does not exist in the project.
如果我删除包引用,构建成功。
Conditionally disabling <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.0.4" OutputItemType="Analyzer" Condition="'$(NCrunch)' != '1'" />
的引用无效。奇怪的是,如果我将其更改为 Condition="'$(NCrunch)' == '1'"
它确实有效,这表明 $(NCrunch)
属性 在构建过程中此时尚未设置。
错误消息引用的行如下所示:
<Target
Name="PrepareForBuild"
DependsOnTargets="$(PrepareForBuildDependsOn)">
根据 arkiaconsulting 和 Clement 的建议:
仅为 NCrunch 构建触发的路径
<Target Name="CopyAzureFunctionOutput" AfterTargets="_GenerateFunctionsPostBuild" Condition="'$(NCrunch)' == '1'">
<Exec Command="xcopy /y "$(OutDir)\bin" "$(OutDir)"" />
</Target>
要禁用目标加载,您可以在引用 Azure 函数包的项目中将 ExcludeRestorePackageImports
属性 设置为 true,如下所示:
<PropertyGroup Condition="'$(NCrunch)' == '1'">
<ExcludeRestorePackageImports>true</ExcludeRestorePackageImports>
</PropertyGroup>
这样,目标不会被触发,文件不会被移动到 bin 文件夹中,NCrunch 工作正常。
可以参考Azure function:build issue
如果以上建议无效,您可以在NCrunch forum and also open an issue on GitHub: azure-functions-vs-build-sdk
上提出同样的问题
我有一个引用 Microsoft.Azure.Functions.Worker.Sdk
版本 1.0.4 的 Azure Functions v3(dotnet 隔离)C# 项目。当 NCrunch 尝试构建此项目时,它失败并显示消息:..\..\..\..\..\..\program files (x86)\microsoft visual studio19\professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets (1150, 7): The target "NCrunchPrepareForBuild" does not exist in the project.
如果我删除包引用,构建成功。
Conditionally disabling <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.0.4" OutputItemType="Analyzer" Condition="'$(NCrunch)' != '1'" />
的引用无效。奇怪的是,如果我将其更改为 Condition="'$(NCrunch)' == '1'"
它确实有效,这表明 $(NCrunch)
属性 在构建过程中此时尚未设置。
错误消息引用的行如下所示:
<Target
Name="PrepareForBuild"
DependsOnTargets="$(PrepareForBuildDependsOn)">
根据 arkiaconsulting 和 Clement 的建议:
仅为 NCrunch 构建触发的路径
<Target Name="CopyAzureFunctionOutput" AfterTargets="_GenerateFunctionsPostBuild" Condition="'$(NCrunch)' == '1'">
<Exec Command="xcopy /y "$(OutDir)\bin" "$(OutDir)"" />
</Target>
要禁用目标加载,您可以在引用 Azure 函数包的项目中将 ExcludeRestorePackageImports
属性 设置为 true,如下所示:
<PropertyGroup Condition="'$(NCrunch)' == '1'">
<ExcludeRestorePackageImports>true</ExcludeRestorePackageImports>
</PropertyGroup>
这样,目标不会被触发,文件不会被移动到 bin 文件夹中,NCrunch 工作正常。
可以参考Azure function:build issue
如果以上建议无效,您可以在NCrunch forum and also open an issue on GitHub: azure-functions-vs-build-sdk
上提出同样的问题