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

4
我在想为什么我不能在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>

我通过“开始”->“运行”检查了.mdf文件的路径是有效的。

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

试图附加一个自动命名的数据库文件%MyProjectsFolder%\WebAppName\App_Data\Database1.mdf失败。已存在同名数据库,或指定的文件无法打开,或位于UNC共享上。


你使用了什么替代方案? - coding_idiot
3个回答

6

配置文件中不允许使用环境变量。


还有其他使用相对路径的方法吗? - ahmd0

1

问题是,如果您需要从某个配置文件中读取正确的目录来设置它,那么您可能会修改web.config文件中的连接字符串。 - Steve Wellens

0

我猜你没试过:

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

你看到数据库文件存放在一个不同于我的项目中。 - ahmd0
你是否尝试浏览并在“数据连接”浏览器中选择它? - pete
我不想创建硬链接。原因是这个项目可能会被移动到另一台计算机并具有不同的文件路径。 - ahmd0
这不是“硬链接”。它在一个文本文件中,可以进行编辑。 - John Saunders

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接