相关疑难解决方法(0)

Visual Studio - 将"内容"文件发送到输出目录而不是子目录?

可能重复:
复制到输出目录复制文件夹结构,但只想复制文件

我正在使用VS2010.我有一个使用一些本机DLL的C#项目.在我的源代码树中,我将这些本机文件存储在主解决方案目录下的"DLLs"目录中.在我的C#项目中,我在其中列出了每个DLL的"DLLs"文件夹.每个DLL设置为构建操作"内容"和"复制到输出"设置为"始终".

不幸的是,因为这些文件位于子目录中,VS似乎认为应该以这种方式部署它们.它们被部署到\ bin\Debug\DLLs,而不是部署到\ bin\Debug.有没有直接的方法来说服VS将它们直接部署到\ bin\Debug,还是我必须做某种自定义构建操作来将它们复制到位?

visual-studio-2010 visual-studio

20
推荐指数
1
解决办法
8461
查看次数

MSBuild将动态生成的文件复制为项目依赖项的一部分

我有一个自定义的msbuild任务,它生成一些输出文件到ProjectA的输出目录($(TargetDir)).当前代码是这样的:

<MyCustomTask ...>
   <Output TaskParameter="OutputFiles" ItemName="FileWrites"/>
</MyCustomTask>
Run Code Online (Sandbox Code Playgroud)

ProjectB正在引用ProjectA,但问题是在构建ProjectB时,MyCustomTask生成的文件不会复制到ProjectB的输出目录中.

我们如何使用MSBuild将动态生成的附加文件作为项目依赖项的一部分进行复制?

c# msbuild build-process

18
推荐指数
1
解决办法
9116
查看次数

Visual Studio 2008 - 将构建时的文件移动到bin /

编辑:这是一个用C#编写的VS2008应用程序.

所以我的解决方案中有一个名为的文件夹

_lib/ 
Run Code Online (Sandbox Code Playgroud)

这是我保存我的DLL的地方,以便当我引用它们时,它们会内置到bin/文件夹中.

现在我的解决方案中有一个新项目.它是一个DLL,但不应该是引用(它是第三方应用程序所必需的).因此,在构建时,我希望将其复制_lib/bin/项目中但未在项目中引用.

我已经_lib/在我的应用程序中包含了该文件夹,并且我选择的DLL的属性总是复制.这个ALMOST工作,它用文件夹复制文件,所以我的结构如下:

/bin/_lib/thedll.dll
Run Code Online (Sandbox Code Playgroud)

代替

/bin/thedll.dll
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c# visual-studio-2008 visual-studio

12
推荐指数
1
解决办法
1万
查看次数

资源文件放在哪里?

如果项目有这些目录

  MyProject
   - bin
     - Debug
       - program.exe
     - Release
       - program.exe
   - program.cs
Run Code Online (Sandbox Code Playgroud)

在哪里放置data.csv将由程序解析的文件?我想将它放在与程序相同的文件夹中。我必须将其复制到调试和发布目录吗?或者,还有更好的方法?


编辑 我还需要将整个目录复制到输出目录,但 Visual Studio 没有此选项。我在这里找到了答案。如果目录很大(就像我的情况一样),可以使用/Dxcopy 属性仅复制较新的文件来解决。就我而言,我将此命令添加到构建后事件(项目->属性)并且效果很好:

xcopy "$(ProjectDir)\FolderToCopy" "$(TargetDir)\FolderToCopy" /D /E /I /Q /Y
Run Code Online (Sandbox Code Playgroud)

xcopy 语法

c# visual-studio-2010

5
推荐指数
1
解决办法
4277
查看次数