VS2010如何在项目中包含文件,复制它们在构build或发布期间自动生成输出目录
任务是形成Visual Studio 2010项目,因此,在任何构build或发布foo.exe
应将一些foo.exe
实用程序复制到输出( bin
)目录。
早期我在.csproj(MSBuild-file)中做了PostBuildEvent任务:
<PropertyGroup> <PostBuildEvent> Copy "$(SolutionDir)Tools\foo.exe" "$(ProjectDir)$(OutDir)foo.exe" </PostBuildEvent> </PropertyGroup>
但是这不是普遍的。 在发布期间(Visual Studio 2010), foo.exe
出现在bin
目录中,但未复制到输出发布目录。 也许我做的一切都完全错了,有标准的机制,包括在项目中的文件以后,在构build或发布,复制到bin
?
有,它不依赖于发布后的事件。
将文件添加到项目中,然后在文件属性中的“复制到输出目录”下,select“始终复制”或“如果新build复制”。
请参阅MSDN 。
我只需要在构build过程中推送文件,所以我只是添加了一个Post-build事件命令行条目,如下所示:
Copy /Y "$(SolutionDir)Third Party\SomeLibrary\*" "$(TargetDir)"
您可以通过在解决scheme资源pipe理器中右键单击项目,然后单击属性>构build事件来设置此项
在解决scheme资源pipe理器中,请select要复制到输出目录的文件并分配两个属性: – 生成操作=内容 – 复制到输出目录=复制始终
这将做的伎俩。
- 将该文件添加到您的项目。
- 转到该文件的属性。
- 将“构build行动”设置为embedded式资源。
- 将“复制到输出目录”设置为始终复制。
在我的情况下,设置Copy to Output Directory
Copy Always
和生成没有把戏,而重build。
希望这可以帮助别人!
尝试从您的服务/ Web项目中直接添加对缺失DLL的引用。 添加引用到一个不同的项目不适合我。
我只需要在发布我的web应用程序时这样做,因为它不是复制所有需要的dll。
就这样,我的神经损伤同志可能会在这里,我曾经假设,对于web项目,如果链接的文件是一个外部.config文件,“输出目录”将是web.config所在的目录,即您的Web项目的根。 回想起来,它将链接文件复制到root / bin文件夹是完全不奇怪的。
所以,如果它是一个appSettings包含文件,你的web.config的开放标签将是
<appSettings file=".\bin\includedAppSettingsFile.config">
咄。