在我的VS解决方案的主项目中,我有一个包含一些必需外部工具的Resources文件夹。在构建和发布解决方案时,我得到一个。\ Resources *,其中包含所有必需的文件。 到目前为止一切都很好。
但是我必须将一些文件移动到父目录。 我的第一次尝试是使用Post Build Events进行的。它工作,并确实将它们移动到正确的文件夹。 然而,在发布输出中,它们仍然出现在Resources文件夹中,我需要它们在父文件夹中:/
有没有办法在Visual Studio中为资源设置目标输出路径?
答案 0 :(得分:1)
第一次尝试是将文件添加到项目根目录并将其标记为资源。发布后,它工作。但是在项目中使用这些文件是蹩脚的。
由于我需要在另一个VS解决方案中编译的一些* .exe文件,因此将它们添加为项目引用。试一试,它通过了“Publish”测试。但仍然......不是最好的方法。
之后,通过一些脚本和后期构建事件,我将所需的文件复制到正确的文件夹中。 Works ..但在发布后,它们不会出现在包中。
但是,Mage工具仍有可能:
http://msdn.microsoft.com/en-us/library/acz3y3te.aspx
这导致了一些有希望的实验,但他们最终帮助我意识到MS ClickOnce有限,所以我决定尝试其他工具。
这是一个良好的开端: What alternatives are there to ClickOnce?
答案 1 :(得分:0)
我有一次类似的情况。我发现在Visual Studio中自定义输出路径等比我想要的更麻烦。
我最终让Visual Studio在文件/项目结构方面做了自己的事情,并编写了一个后期构建脚本,将所需的所有内容复制到最终的“发布就绪”目录中。
然后我将Visual Studio中的执行目标设置为新位置,因此我可以像往常一样运行/调试,但是使用组织的新文件夹我是如何需要它的。小心,我认为这是用户项目设置;因此,如果他们愿意,其他开发人员也需要在他们的机器上执行此操作。
我确实记得改变一些输出路径,以使后期构建脚本更简单。但是,当您向解决方案添加新项目时,更改此类内容可能会导致烦恼;您可能需要将它们配置为匹配。这都是一种权衡:)
答案 2 :(得分:0)
两个想法:
Build Action
设置为Content
和Copy To Output
设置为true
。然后参考这个新项目并构建解决方案。 (这可能不是你想要的,只是一个想法)。Resources\
目录中并以编程方式访问它们?