Tra*_*chs 10 powershell batch-file visual-studio
我的目标是将.exe文件从解决方案A的bin文件夹复制到解决方案A的post build事件上的另一个解决方案B资源文件夹.
我创建了必要的xcopy命令并在powershell中尝试了它:它完美地工作.
每当我向VS中的操作添加任何命令时,都会失败并显示:"#command#exited with code 1",其中#command#例如是xcopy命令.
我尝试以管理员身份运行VS,目前我尝试运行一个包含"@echo off @exit 0"的.bat文件.这也导致"#command #exit with code 1".
有一些我作为VS post/pre-build命令尝试的例子:
调用"projdir\test.bat"
调用projdir\test.bat
"projdir\test.bat"
projdir\test.bat
...我试过projdir as "$(ProjectPath)"和手动路径.
我把输出放到verbose并找到以下内容:
命令"C:\ Users\Traubenfuchs\AppData\Local\Temp"写得不正确或找不到.(该文件夹实际存在但我不知道它想要做什么.)
当我在构建前/后构建一个xcopy命令时,会发生同样的事情.
谁知道我做错了什么?

小智 5
最近我遇到了类似的问题.
关于你的"hello world"构建后事件:尝试直接调用powershell
powershell -command "write-output 'hello world'; exit 0"
Run Code Online (Sandbox Code Playgroud)
=================
我的预构建事件看起来像:
powershell -file scriptPath.ps1
Run Code Online (Sandbox Code Playgroud)
我的scriptPath.ps1看起来像:
<my epic powershell code>
...
exit 0
Run Code Online (Sandbox Code Playgroud)
请注意,最后没有"退出0"我从我的脚本中收到了返回码1.
由于在域GPO中设置了"软件限制策略",我们遇到了此问题.似乎pre和post版本在temp文件夹中创建.cmd批处理文件.以下是日志记录显示的内容:
cmd.exe的(PID = 8456)来标识C:\用户\布赖恩\应用程序数据\本地\ TEMP\tmp733425d2c0604973a90a0a175c13353e.exec.cmd如使用缺省规则不允许的,的Guid = {11015445-d282-4f86-96a2-9e485f593302}
为了解决这个问题,我们修改了控制SRP的GPO,使其不包含.cmd文件.毕竟,SRP的目标是阻止可执行的恶意软件,而不是批处理文件.因此,我可能会得到一些安全反击.希望有人知道更好的方法来解决这个问题.
| 归档时间: |
|
| 查看次数: |
10425 次 |
| 最近记录: |