ASP.NET web.config文件中的环境变量

时间:2012-02-22 01:32:51

标签: asp.net web-config environment-variables

我想知道为什么我不能在ASP.NET web.config文件中使用自定义环境变量?

<?xml version="1.0"?>
<configuration>
  <connectionStrings>
    <add name="ConnectionName" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename='%MyProjectsFolder%\WebAppName\App_Data\Database1.mdf';User Instance=true" providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>

我查看了开始 - &gt;运行.mdf文件的文件路径是有效的。

当我运行我的C#代码连接到数据库时,我收到以下错误:

  

尝试为文件附加自动命名的数据库   %MyProjectsFolder%\ WebAppName \ App_Data \ Database1.mdf失败。一个   存在同名的数据库,或指定的文件不能存在   打开,或者它位于UNC分享。

3 个答案:

答案 0 :(得分:6)

环境变量可能未在配置文件中使用。

答案 1 :(得分:1)

您可以使用:DataDirectory,如下所示:

“Data Source = |DataDirectory|\Mydb.sdf”

您可以更改DataDirectory指向的位置:“要设置DataDirectory属性,请调用AppDomain.SetData”

http://social.msdn.microsoft.com/Forums/en/sqlce/thread/dc31ea59-5718-49b6-9f1f-7039da425296

警告,我从未尝试过这个。

答案 2 :(得分:0)

我认为你没试过:

connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename='~/App_Data/Database1.mdf';User Instance=true"