Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 如何在Visual Studio 2010中的内部版本上创建空文件夹?_Visual Studio 2010 - Fatal编程技术网

Visual studio 2010 如何在Visual Studio 2010中的内部版本上创建空文件夹?

Visual studio 2010 如何在Visual Studio 2010中的内部版本上创建空文件夹?,visual-studio-2010,Visual Studio 2010,我有一个VS2010项目,它需要在bin\debug目录中创建一个dataIn和一个dataOut目录,以便运行一些测试 创建dataIn目录很简单-只需将包含内容的文件夹添加到项目中,并将其包含的每个文件的“复制到输出目录”属性设置为“始终复制”(或编辑项目文件以使用通配符捕获所有文件,如其他答案所示)-VS将自动创建目录,以便将文件复制到其中 我的问题:如何确保在需要时自动创建dataOut目录 没有要放入的文件,因此ItemGroup中的此目录没有任何内容。如果手动将目录条目添加到项目文件

我有一个VS2010项目,它需要在bin\debug目录中创建一个dataIn和一个dataOut目录,以便运行一些测试

创建dataIn目录很简单-只需将包含内容的文件夹添加到项目中,并将其包含的每个文件的“复制到输出目录”属性设置为“始终复制”(或编辑项目文件以使用通配符捕获所有文件,如其他答案所示)-VS将自动创建目录,以便将文件复制到其中

我的问题:如何确保在需要时自动创建dataOut目录

没有要放入的文件,因此ItemGroup中的此目录没有任何内容。如果手动将目录条目添加到项目文件中,则会出现以下错误:

"<path>\dataOut" is actually a directory.  The "Copy" task does not support copying directories.
“\dataOut”实际上是一个目录。“复制”任务不支持复制目录。

(编辑:从目录名中删除下划线,这样斜体字就可以用了!)

到目前为止,我管理的一种方法是向文件夹中添加一个虚拟文本文件,并将其“复制到输出目录”属性设置为“始终复制”。我还添加了一个构建后步骤来删除虚拟文件,留下了现在为空的目录(尽管对于这个特定的项目,这实际上只是因为我的繁琐——如果没有它就不会有任何影响)


我仍然想知道是否有更好的选择,但是…

在预构建步骤中使用一些mkdir如何?

刚刚分享了这个难题,我想到了处理这个问题的最简单方法是通过编程简单地创建目录。

如果(!Directory.Exists(AppDomain.CurrentDomain.BaseDirectory+“yourDirectoryName”))
{
Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory+“yourDirectoryName”);
}

我不确定您使用的是哪种类型的应用程序,但winform应用程序可以在其主方法中实现这一点,web应用程序可以在许多地方实现这一点。

在预构建步骤中尝试以下操作:

if not exist "$(TargetDir)dataOut" mkdir "$(TargetDir)dataOut"

如果您在
$(TargetDir)
中有空格,则引号很重要,但无论是否可靠,我都会使用引号。

我认为EvilTeach实际上提供了一个答案(尝试使用MKDIR在预构建/后构建步骤中显式创建目录),尽管是以反问的形式。我之所以避免这样做,是因为它变得更加复杂,因为您还必须首先测试目录的存在性,等等。理想情况下,我希望尽可能避免记住项目中存在构建前/后步骤,因为它们不像解决方案资源管理器中的文件夹那样明显(虽然我在当前的解决方案中有后期构建步骤来整理虚拟文件)我使用后期构建将api头复制到一个公共include目录。dataOut目录只需要在开发环境中运行一些测试就可以了。添加显式代码以在客户系统上创建它,这是不可能的!