Visual studio 2010 如何在Visual Studio 2010中的内部版本上创建空文件夹?
我有一个VS2010项目,它需要在bin\debug目录中创建一个dataIn和一个dataOut目录,以便运行一些测试 创建dataIn目录很简单-只需将包含内容的文件夹添加到项目中,并将其包含的每个文件的“复制到输出目录”属性设置为“始终复制”(或编辑项目文件以使用通配符捕获所有文件,如其他答案所示)-VS将自动创建目录,以便将文件复制到其中 我的问题:如何确保在需要时自动创建dataOut目录 没有要放入的文件,因此ItemGroup中的此目录没有任何内容。如果手动将目录条目添加到项目文件中,则会出现以下错误:Visual studio 2010 如何在Visual Studio 2010中的内部版本上创建空文件夹?,visual-studio-2010,Visual Studio 2010,我有一个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目录只需要在开发环境中运行一些测试就可以了。添加显式代码以在客户系统上创建它,这是不可能的!