MsBuild Deploy 与 PackageLocation 放置文件权限

标签 msbuild web-deployment

我在 TFS 中有一个 MsBuild Build,它正在发布一个 web zip 包。
这是我正在使用的命令行:

/t:Build;Package 
/p:DeployOnBuild=true;Configuration=Release;
DeployTarget=Package;PackageLocation=\\xxx\MyApp.zip

它工作正常,并且还在 web.config 中按预期替换参数。
我面临的唯一问题是应用于包文件的权限。
现在文件被部署到:
*\myshare\myapp\*
并且文件夹设置了权限:
所有人:完全控制
文件夹内的包有权限:
TFSAdmin:完全控制
没有别的,所以我无法打开或复制它......有什么办法可以避免这种情况?

最佳答案

到目前为止,如果没有解决方法,问题似乎无法解决。
通过在构建过程结束时在工作流中执行批处理文件,我找到了一种简单易行的解决方法。
在批处理文件中,我使用了非常旧的 ICACLS 重新设置权限:

ICACLS \\xxx\MyPackage.zip /GRANT Everyone:F
ICACLS \\xxx\MyPackage.zip /GRANT Users:F

关于MsBuild Deploy 与 PackageLocation 放置文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9433159/

相关文章:

maven - 使用 Jenkins 在远程 Tomcat8 上部署时,您提供的用户名不允许使用基于文本的 Tomcat 管理器(错误 403)

msbuild - VS2010构建部署包+sectionGroup/自定义设置+SetParameters.xml

c# - 内部 MSBuild 错误 : Already registered for build-time

用于 Web 部署的 Git 与 FTP

entity-framework - 如何使Visual Studio Publish Web向导确信我的数据库是Entity Framework CodeFirst?

git - 在克隆用于构建的存储库时,如何让 TeamCity 创建 .git 目录?

java - 在测试服务器中部署时无法访问 java 类文件

msbuild - msbuild、dotnet sdks、azure、kudu等使用的环境变量列表

.net - MSBuild 错误 MSB3086,与 TeamCity

visual-studio-2010 - 将所有输出 dll 放在 Visual Studio 的公共(public)目录中