Обратите внимание, что я использую VS 2017, Net framework 4.6.1 и Entity Framework версии 6.4.0. Я получаю сообщение об ошибке при попытке запустить проект модульного теста и ошибку, как показано ниже,
«Не удалось загрузить файл или сборку» EntityFramework, Версия = 6.0.0.0, Культура = Нейтральный, PublicKeyToken = b77a5c561934e089 'или одна из его зависимостей. Системе не удается найти указанный файл. '
Обратите внимание, что я уже попробовал приведенные ниже решения,
- Деинсталлировано EF версии 6.4.0 и установлено 6.0.0
- Изменено EF-версия в app.config
<section name="entityFramework"
type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,
EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
requirePermission="false"/>
в <section name="entityFramework"
type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,
EntityFramework, Culture=neutral, PublicKeyToken=b77a5c561934e089"
requirePermission="false"/>
- Установить для свойства EF Reference 'Specifi c Version' значение false
Пробуя приведенные выше решения, я по-прежнему выдавал не удалось решить.
Также обратите внимание, что я пытался на основе ответов, представленных в потоке стека для ранее заданных запросов на ту же проблему.
Файл App.config,
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --><!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<!--<section name="entityFramework"
type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,
EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
requirePermission="false"/>-->
<section name="entityFramework"
type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,
EntityFramework, Culture=neutral, PublicKeyToken=b77a5c561934e089"
requirePermission="false"/>
</configSections>
<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v13.0"/>
</parameters>
</defaultConnectionFactory>
</entityFramework>
<connectionStrings>
<add name="SOwDatabaseDbContext" connectionString="Data Source=ABC;Initial Catalog=SOW;Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
Файл Package.config,
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.4.0" targetFramework="net461" />
<package id="EntityFramework.Core" version="7.0.0-beta6" targetFramework="net461" />
<package id="EntityFramework.Relational" version="7.0.0-beta6" targetFramework="net461" />
<package id="Ix-Async" version="1.2.4" targetFramework="net461" />
<package id="Microsoft.Framework.Caching.Abstractions" version="1.0.0-beta6" targetFramework="net461" />
<package id="Microsoft.Framework.Caching.Memory" version="1.0.0-beta6" targetFramework="net461" />
<package id="Microsoft.Framework.Configuration" version="1.0.0-beta6" targetFramework="net461" />
<package id="Microsoft.Framework.Configuration.Abstractions" version="1.0.0-beta6" targetFramework="net461" />
<package id="Microsoft.Framework.Configuration.Binder" version="1.0.0-beta6" targetFramework="net461" />
<package id="Microsoft.Framework.DependencyInjection" version="1.0.0-beta6" targetFramework="net461" />
<package id="Microsoft.Framework.DependencyInjection.Abstractions" version="1.0.0-beta6" targetFramework="net461" />
<package id="Microsoft.Framework.Logging" version="1.0.0-beta6" targetFramework="net461" />
<package id="Microsoft.Framework.Logging.Abstractions" version="1.0.0-beta6" targetFramework="net461" />
<package id="Microsoft.Framework.OptionsModel" version="1.0.0-beta6" targetFramework="net461" />
<package id="Remotion.Linq" version="2.0.0-alpha-004" targetFramework="net461" />
<package id="System.Collections" version="4.0.0-beta-23109" targetFramework="net461" />
<package id="System.Collections.Immutable" version="1.1.37-beta-23109" targetFramework="net461" />
<package id="System.Diagnostics.Debug" version="4.0.0-beta-23109" targetFramework="net461" />
<package id="System.Globalization" version="4.0.0-beta-23109" targetFramework="net461" />
<package id="System.Linq" version="4.0.0-beta-23109" targetFramework="net461" />
<package id="System.Resources.ResourceManager" version="4.0.0-beta-23109" targetFramework="net461" />
<package id="System.Runtime" version="4.0.0-beta-23109" targetFramework="net461" />
<package id="System.Runtime.Extensions" version="4.0.0-beta-23109" targetFramework="net461" />
<package id="System.Threading" version="4.0.0-beta-23109" targetFramework="net461" />
</packages>
Файл класса UnitTest (Обратите внимание, чтобы точно указать на проблему, связанную с EF. Я написал тестовые примеры непосредственно для класса репозитория)
TestMethod]
public void InsertCategoryTest()
{
try
{
CategoriesRepository categoriesRepository = new CategoriesRepository(); // Throwing exception here
Category categoryModel = new Category()
{
CategoryName = "Test"
};
bool res = categoriesRepository.InsertCategory(categoryModel);
Assert.AreEqual(res, true);
}
catch(Exception ex)
{
}
Любое предложение будет оценено.