【发布时间】:2021-01-20 13:57:40
【问题描述】:
当我构建我的 Specflow 解决方案时,我收到以下错误:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4651,5): error MSB3021: Unable to copy file "<myUser>\.nuget\packages\specrun.runner\3.1.48\tools\netcoreapp3.1\TechTalk.SpecRun.Framework.Executor.anycpu.netcoreapp3_1.runtimeconfig.json" to "bin\Debug\netcoreapp3.1\SpecFlowPlusRunner\netcoreapp3.1\\TechTalk.SpecRun.Framework.Executor.anycpu.netcoreapp3_1.runtimeconfig.json". Could not find a part of the path 'bin\Debug\netcoreapp3.1\SpecFlowPlusRunner\netcoreapp3.1\\TechTalk.SpecRun.Framework.Executor.anycpu.netcoreapp3_1.runtimeconfig.json'.
我可以看到路径是错误的,有两个\\ 而不是一个,但我不知道路径来自哪里。该解决方案直到两个小时前才有效,除了代码之外我没有更改任何内容。是否有任何 VS 或 PC 配置/路径,我应该在哪里搜索它们?
删除\obj、\bin、\.vs、重新启动 VS、重新启动 PC、手动复制文件、更新到另一个 SpecFlow 版本,以及我能想到的其他一切都没有帮助。文件Microsoft.Common.CurrentVersion.targets 尚未更改。我能够构建其他 Specflow 解决方案(使用 .NET Framework,我没有其他使用 .NET Core)。
有什么想法吗?
更新
我们在另一位同事的电脑上测试过,也出现了问题,所以不是我电脑的问题。
另外,我打开了构建日志,可以看到所有 SpecRunner 路径都有两个 \\ 的相同问题
【问题讨论】:
-
您在受影响的项目中使用的是哪个 .NET Core 版本?
-
我们有 v.2.2.5 的 Microsoft.AspNetCore.Mvc.Core 包。但似乎所有可能的运行时配置都被复制了,无论使用哪个 .NET Core 版本。如果我知道如何关闭它,它已经对我有所帮助,但我找不到这样的设置。我还用更多信息更新了这个问题。
-
Î 在我的日志文件中也有双 \\,所以我认为这不是问题。 Windows 应该可以处理。
-
我有 40 个这样的错误,没有其他错误。我有很多与此相关的警告。我不知道还有什么问题。但我会检查我是否能找到其他东西......
-
2 个想法。 1 您能否检查从我们的项目向导创建的新项目是否适合您? 2. 如果你回到以前的更改会发生什么。然后它会再次工作吗?
标签: c# .net msbuild integration-testing specflow