A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. string dataDir = AppDomain.CurrentDomain.BaseDirectory;
  2. if (dataDir.EndsWith(@"\bin\Debug\")
  3. || dataDir.EndsWith(@"\bin\Release\"))
  4. {
  5. dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
  6. AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
  7. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

2 个回复

倒序浏览
AppDomain.CurrentDomain.BaseDirectory表是获取当前项目的根目录,你console.writeline(datadir)看看是什么;
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;:获取dataDir的上一级的上一级的全路径,即去掉bin\Debug\ or bin\release
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
设置当前应用程序集的"DataDirectory"为dataDir的值


评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
    string dataDir = AppDomain.CurrentDomain.BaseDirectory;    //获取程序的基目录。
    if (dataDir.EndsWith(@"\bin\Debug\")|| dataDir.EndsWith(@"\bin\Release\"))   //判断当前程序的目录是否是"\bin\Debug\"或者"\bin\Release\"
    {
          dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;//就取项目的目录然后赋值给DataDirectory这个key;
          AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);  //连接字符串中的DataDirectory的值就是通过AppDomain.CurrentDomain.SetData赋值过去的
    }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马