| DataDirectory |,你有一份工作。 IIS7.5上的|DataDirectory|
解析为:
C:\inetpub\wwwroot\appname\App_Data
该文件夹不存在。正确的文件夹是:
C:\inetpub\wwwroot\appname\bin\App_Data
开发机器上的一切都很好,但是当我部署到服务器时,AppData被放置在bin\
内。我使用任何Visual Studio 2010项目中显示的AppData,并使用“ Build Deployment Package ”(VS2010)和“导入应用程序”(IIS管理器)进行部署。
我知道我可以使用AppDomain.SetData或类似手动设置路径,但我对该功能的解释是返回在不同服务器上部署的正确位置。如果我必须对该路径进行硬编码,那就没有用了。
连接字符串:"Data Source=|DataDirectory|\db.sqlite;"
如何让|DataDirectory|
返回AppData路径,或者阻止创建不必要的bin\
文件夹?
答案 0 :(得分:4)
它也为我打破了。我尝试了“复制/不复制”和更改“ExcludeApp_Data”参数的各种组合,但无法在Visual Studio和已发布版本之间保持一致。为了避免在服务器上有两个数据副本,我最终更改了应用程序以首先检查App_Data文件夹,如果没有找到则查看bin / App_Data文件夹。
答案 1 :(得分:0)