我正在开发一个使用几个 XML 文件来存储数据的 Web 应用程序。我将他们的构建操作设置为内容,并在安装时将文件成功复制到应用程序虚拟目录:
C:\inetpub\wwwroot\ApplicationName\
我遇到的问题是写入这些 XML 文件(为了保存设置和类似的东西)会导致很多写入权限问题。因此,为了解决这个问题,我尝试使用 Web 部署项目中的以下 PostBuildEvent 将这些文件从它们安装到的虚拟目录复制到 C 驱动器下的新目录:
xcopy "$(TargetDir)*.xml" "C:\CompanyName\ApplicationName\" /y
但是,这无济于事。我不确定这是否是因为安装程序中的 PostBuildEvents 实际上并未在安装时触发,而只是在构建安装程序时触发,或者 TargetDir 是否代表 bin 目录:
C:\inetpub\wwwroot\ApplicationName\bin\
而不是根应用程序虚拟目录:
C:\inetpub\wwwroot\ApplicationName\
有没有人有任何想法?以前有没有人处理过这种事情?我真的被这个难住了。
更新: 我包括一个 PostBuildEvent 应该为所有用户提供完全权限:
icacls "$(TargetDir)" /grant Users:F
但它似乎并没有解决问题。
我也不确定 $(TargetDir) 指向的确切位置,如果它是 ..\ApplicationName\ 或 ..\ApplicationName\bin\