0

我想要以下命令提示符解决方案或 Visual Studio 2008 解决方案:

我正在 Visual Studio 2008 C# 中构建一个解决方案,我需要对其进行测试。

为了测试解决方案,我需要将其复制到另一台机器上。

我的流程是:

  1. 将调试文件夹复制到共享位置
  2. 从共享位置复制到源计算机

我尝试这样做:

rmdir s:\debug /s /q
s:
md debug
copy "C:\Documents and Settings\user123\Desktop\eFormsSystem\eFormsApp\bin\Debug\*.*" s:\debug\

但是它是说系统找不到指定的路径。

我确定上面的代码有问题;但是我想知道:

  1. 有没有办法使用 Visual Studio 做到这一点?我希望它在构建后立即将调试目录复制到共享位置。
  2. 如果命令提示符更适合这个,你能告诉我上面的代码有什么问题吗?
4

2 回答 2

1

您的陈述似乎是正确的,并且我测试了它们在我本地机器上的项目中运行良好。您运行语句的用户是否可能无权从“复制”语句中的文件夹中读取?您可以通过将以下内容替换为复制行来验证这一点 - 确保它以您打算复制的文件列表进行响应:

dir "C:\Documents and Settings\user123\Desktop\eFormsSystem\eFormsApp\bin\Debug"

请注意,在 Visual Studio 中,您可以添加“生成后事件”。在 Visual Studio 中转到项目的属性(右键单击项目并选择属性)。然后单击 Build Events 选项卡 - 在该选项卡上,您可以输入命令行语句以在项目构建之前和之后运行。单击“Edit Post-build...”以打开一个带有宏的窗口,您可以将其插入到脚本中,包括“OutDir”之类的内容,这是项目输出写入的目录。

于 2012-04-27T17:10:25.687 回答
1

您可以尝试两件事。首先是尝试使用复制命令上的开关,就像对 rmdir 命令所做的那样。尝试添加/Y/Z开关。

  • /Y = 禁止提示您确认是否要覆盖现有目标文件。
  • /Z = Copies networked files in restartable mode.

May just want to try this first. I know the /Y is redundant since you are removing the destination directory before copying.

copy "C:\Documents and Settings\user123\Desktop\eFormsSystem\eFormsApp\bin\Debug\*.*" s:\debug\ /Z /Y

Secondly, you asked if you could do this from Visual Studio. You could use the post-build event on the project to copy files to another location on the network after a successful build. However, you first need to get the command working.

于 2012-04-27T17:42:38.880 回答