运行 update-database 导致错误:“发生文件激活错误”
Posted
技术标签:
【中文标题】运行 update-database 导致错误:“发生文件激活错误”【英文标题】:Running update-database results in the error: "A file activation error occurred" 【发布时间】:2015-01-09 12:09:21 【问题描述】:基本上,我创建了一个包含数据访问存储库的类库项目,供其他项目使用。 我添加了 EF6 包并启用了迁移。 我在 app.config 中的连接字符串如下所示:
<connectionStrings>
<add name="Pbn" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\Pbn.mdf;Initial Catalog=LM.DataAccess;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
(项目名称为LM.DataAccess)。
当我运行 update-database 命令时,出现以下错误:
发生文件激活错误。物理文件名“\Pbn.mdf” 可能不正确。诊断并纠正其他错误,然后重试 操作。创建数据库失败。列出的一些文件名可能 不会被创建。检查相关错误。
这可能是什么问题?
【问题讨论】:
相关问题 - ***.com/questions/18882560/… 【参考方案1】:这就是问题所在:
AttachDbFilename=|DataDirectory|\Pbn.mdf
这被解释为 \Pbn.mdf,它不存在。这是因为您没有设置 |DataDirectory|值,所以它是空白的。设置方法见here。
【讨论】:
我明白了。但是我在哪里更改数据目录?我的意思是,与 Web 项目不同,我的类库中没有 global.asax 文件(我通常会在其中放置它)。 是的,但在控制台和 WinForm 应用程序中有一个 Program.cs。 WPF 有 App.xaml.cs,所以有适合每个人的东西! 是的,但我的是一个类库,两者都没有。我尝试添加 Program.cs,就像控制台应用程序一样,但它没有被解雇。顺便说一句 - 对不起我的延迟回答,但我正在尝试你所说的一切:) 你需要 a) 设置任何项目使用你的库 b) 在你第一次使用连接字符串之前的某个时间在你的库中设置它 c) 不要使用 |DataDirectory|!使用正确的路径!以上是关于运行 update-database 导致错误:“发生文件激活错误”的主要内容,如果未能解决你的问题,请参考以下文章
Abp框架之执行Update-Database 命令系列错误