C# 有没有可能;“崩溃”;visual studio中生成输出中的内容文件路径?

C# 有没有可能;“崩溃”;visual studio中生成输出中的内容文件路径?,c#,visual-studio,C#,Visual Studio,我使用的是一个开源库(log4net),它附带了许可证、通知和自述文件,这些文件在分发时应该包括在内。所以我想让VisualStudio将它们与我的二进制文件一起放在输出目录中 我在“lib\log4net”目录中有log4net及其三个文件。问题是,如果我将这些文件作为内容文件添加,它们将被复制到bin\release\lib\log4net,而不是bin\release。有没有办法让VisualStudio在构建时折叠路径 我最初使用后期生成步骤来复制它们,但是visual studio没有

我使用的是一个开源库(log4net),它附带了许可证、通知和自述文件,这些文件在分发时应该包括在内。所以我想让VisualStudio将它们与我的二进制文件一起放在输出目录中

我在“lib\log4net”目录中有log4net及其三个文件。问题是,如果我将这些文件作为内容文件添加,它们将被复制到bin\release\lib\log4net,而不是bin\release。有没有办法让VisualStudio在构建时折叠路径


我最初使用后期生成步骤来复制它们,但是visual studio没有意识到它们,并且它不会将它们放在任何其他依赖项目的输出文件夹中(如果您称它们为内容,它会这样做)。

您所要做的就是右键单击文件,例如自述,然后转到属性。其中一个属性是“复制到输出目录”。将其设置为true。

您可以在项目中使用后期构建步骤,只需将它们移动到您想要的目录中即可。我经常使用预构建步骤引入最新版本的依赖项,并使用后构建步骤以我想要的方式部署我的项目。

如果您使用安装项目来打包所有内容,那么直接向其中添加额外文件怎么样?

否,这将使用完整路径复制它。也就是说,如果它是/lib/log4net/README,它将变成/bin/Release/lib/log4net/README。我希望它变成/bin/Release/README。只需将文件添加到您的解决方案中即可。它不应该向它添加任何路径。只有当我将它们添加到项目的根目录中时才是这样。我希望它们位于我的项目的子目录中,但当编译到bin/Release时,它们不会位于子目录中。给我一些来研究一下,我会为你找到一个更好的解决方案,正如我在最初的问题中所说的,构建后的步骤并不能满足我的需要。后期构建步骤适用于一个项目,但如果我有另一个项目引用该项目,它将需要自己的后期构建步骤。这很快就会变得乏味。将文件包含为“内容”意味着visual studio将把它们放在其他项目的输出文件夹中,因此依赖项目可以只引用第一个项目,而不必有一大堆对他们来说毫无意义的特殊构建后步骤。@Eggplant Jeff:我知道没有更好的方法来完成上述任务。我有10多个项目使用此方法将各种文件复制到bin目录。现在,如果你安装了一个安装程序,这可以自动完成。我没有使用一个安装项目,但更大的问题是,这是一个常见的助手项目,由一堆其他项目使用。我不想添加一个手动步骤(任何类型,后期构建,安装程序中的特殊行等)到其他十个碰巧使用此步骤的项目中。。。特别是因为我有不止一个这样的助手项目。手动步骤的激增变成了一团乱麻。