【问题标题】:Connectionstring to other projects' App_Data folder到其他项目的 App_Data 文件夹的连接字符串
【发布时间】:2013-06-03 16:41:51
【问题描述】:

我有一个 asp.net webforms 项目,在连接字符串引用的 App_Data 文件夹中有一个数据库:

<add name="databaseconnectionstring" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|database.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />

该解决方案还包含另一个项目,其中包含需要访问同一数据库的 Web 服务。 是否可以在连接字符串中写入此数据库的相对路径? - 例如。像这样的东西(不起作用):

<add name="databaseconnectionstring" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|/../../ProjectName/App_Data/database.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />

【问题讨论】:

    标签: asp.net web-config connection-string multiple-projects


    【解决方案1】:

    基本上|DataDirectory|App_Data 文件夹的别名。由于您没有在服务项目中使用App_Data,因此在这种情况下它对您没有帮助。

    您可以尝试使用 ~\ 从项目根目录开始:

    AttachDbFilename=~\..\ProjectName\App_Data\database.mdf
    

    还有一个使用绝对路径的选项:

    AttachDbFilename=d:\Projects\ProjectName\App_Data\database.mdf
    

    最后总是可以选择以编程方式构建连接字符串。

    【讨论】:

    • 它不起作用..但我认为如果这不起作用,那么没有绝对路径是不可能的..
    • @MortenHolmgaard,你很可能是对的——这只是一个疯狂的猜测。但是,也许您可​​以选择在运行时构建连接字符串。
    • 这可能是可能的 - 但它不是一个关键功能,所以我会选择绝对路径。
    • @MortenHolmgaard,我会在帖子中添加绝对路径选项 - 只是为了完整起见。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多