我正在写一个带有脚本组件的SSIS包。在此脚本组件中,我试图建立一个实体框架连接,但出现以下错误:
无法加载文件或程序集'{Model} .resource.dll'或其依赖项错误之一
{Model}是包含我的EF6代码优先模型的dll。我没有任何{Model} .resource.dll。
如果我在控制台应用程序中运行相同的代码,则它正在运行,并且没有.resource.dll
我使用DBConfiguration来摆脱app.config文件,因为SSIS不支持它。
public class ModelConfig : DbConfiguration
{
public ModelConfig()
{
this.SetDefaultConnectionFactory(new System.Data.Entity.Infrastructure.LocalDbConnectionFactory("mssqllocaldb"));
this.SetProviderServices("System.Data.SqlClient",
System.Data.Entity.SqlServer.SqlProviderServices.Instance);
}
}
答案 0 :(得分:0)
发现了问题。
SSIS正在将区域设置信息添加到线程。实体框架存在区域设置信息错误。
这有帮助:
public ScriptMain()
{
System.Globalization.CultureInfo.DefaultThreadCurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = System.Globalization.CultureInfo.InvariantCulture;
}