Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在多项目解决方案的连接字符串中使用| DataDirectory |_C#_Entity Framework_Connection String_Multi Project_Datadirectory - Fatal编程技术网

C# 在多项目解决方案的连接字符串中使用| DataDirectory |

C# 在多项目解决方案的连接字符串中使用| DataDirectory |,c#,entity-framework,connection-string,multi-project,datadirectory,C#,Entity Framework,Connection String,Multi Project,Datadirectory,我在这个解决方案中有两个项目——一个类库带有数据库实体(使用EF),一个用于Winforms 连接字符串位于Winforms应用程序的app.config中,并且工作正常: <add name="LibraryContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\MyLibrary.mdf;Integrated Security=True; " p

我在这个解决方案中有两个项目——一个类库带有数据库实体(使用EF),一个用于Winforms

连接字符串位于Winforms应用程序的
app.config
中,并且工作正常:

<add name="LibraryContext" 
     connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\MyLibrary.mdf;Integrated Security=True; "
     providerName="System.Data.SqlClient"/>

但是,当我尝试提供迁移时,会出现一个错误:

发生文件激活错误。物理文件名“\MyLibrary.mdf”可能不正确。诊断并更正其他错误,然后重试该操作

当我在连接字符串中提供完整路径时,一切正常。我假设问题出在
DataDirectory
中。带有数据库实体的项目看不到它,或者可能将它视为自己的
DataDirectory
,而不是启动项目(Winforms)的项目


请帮助我为数据库提供正确的相对路径。

试试这个,希望能奏效

转到“项目检查设置”选项卡的属性。如果包含多个连接字符串,请将其删除。并添加应用程序配置中的连接字符串

谢谢


快乐编码:)

试试这个,希望它能奏效

转到“项目检查设置”选项卡的属性。如果包含多个连接字符串,请将其删除。并添加应用程序配置中的连接字符串

谢谢


快乐编码:)

如果您在数据访问程序集中执行迁移,则需要自己的app.config。但是,如果我在WinForms项目中拥有数据库的完整路径,则可以使用它。如果您在数据访问程序集中执行迁移,它需要一个自己的app.config。但是当我在WinForms Projects中拥有数据库的完整路径时,它可以工作。当路径包含| DataDirectory |时,它没有帮助,只有完整路径可以工作。这并不能回答问题。这充其量只是一个建议,应该是一个注释。当路径包含| DataDirectory |时没有帮助,只有完整路径有效。这并不能回答问题。这充其量只是一个建议,应该是一个评论。