当我尝试生成.feature文件时,我似乎随机收到以下错误。
偶尔我会更改或更改我的功能文件,并且此错误突然冒出:
#error Generation error: Could not load file or assembly 'Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
我完全不知道如何解决这个问题 - 我尝试添加对程序集的引用,更改SpecFlow / NUnit的版本,但似乎没有任何工作。
删除我的项目副本并从源代码管理中删除它最初会起作用,但之后会再次发生。
以下是我安装的软件包的完整列表:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.2" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.2" targetFramework="net461" />
<package id="Microsoft.Azure.KeyVault.Core" version="1.0.0" targetFramework="net461" />
<package id="Microsoft.Data.Edm" version="5.8.2" targetFramework="net461" />
<package id="Microsoft.Data.OData" version="5.8.2" targetFramework="net461" />
<package id="Microsoft.Data.Services.Client" version="5.8.2" targetFramework="net461" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net461" />
<package id="NUnit" version="3.0.0" targetFramework="net461" />
<package id="NUnit3TestAdapter" version="3.9.0" targetFramework="net461" />
<package id="SpecFlow" version="2.2.1" targetFramework="net461" />
<package id="SpecFlow.NUnit" version="2.2.1" targetFramework="net461" />
<package id="System.ComponentModel.EventBasedAsync" version="4.0.11" targetFramework="net461" />
<package id="System.Dynamic.Runtime" version="4.0.0" targetFramework="net461" />
<package id="System.Linq.Queryable" version="4.0.0" targetFramework="net461" />
<package id="System.Net.Requests" version="4.0.11" targetFramework="net461" />
<package id="System.Spatial" version="5.8.2" targetFramework="net461" />
<package id="WindowsAzure.Storage" version="8.6.0" targetFramework="net461" />
</packages>
我正在运行Visual Studio Community 17(15.5.2),.NET 4.7.02556和SpecFlow扩展版2017.1.10
答案 0 :(得分:2)
有时对我有用的是从解决方案路径中删除%LOCALAPPDATA%/Microsoft/Visual Studio/<your VS version>/ComponentModelCache
文件夹,然后在解决方案中恢复nuget包并重新生成要素文件。
有时这还不够,还必须删除visual studio缓存。
位于:help("sample")
答案 1 :(得分:1)
这是一个已知问题,我们无法重现和修复。
答案 2 :(得分:1)
我的修复方法是删除现有的.feature.cs
文件,然后重新生成它们
我正在使用Visual Studio 2017 15.5.1和以下SpecFlow版本:
SpecFlow Version:2.2.0.0
SpecFlow Generator Version:2.2.0.0
以下github线程,给了我线索:
Visual Studio 2017 Generation error: Could not load file or assembly 'Microsoft.Build.Framework, Version=15.1.0.0
答案 3 :(得分:1)
这是Microsoft软件包的问题。这个解决方案对我有用。问题消失了,现在可以成功构建了。
在您的Azure Build Pipeline
> NuGet tool installer
步骤中,将Version of NuGet.exe to install
更改为较新的版本,例如5.4.0。
在https://dist.nuget.org/tools.json上查看Nuget的最新ReleasedAndBlessed
版本。
答案 4 :(得分:0)
更新最新版本的Visual Studio可以为我解决此问题。
操作系统:macOS 10.15.1