任务是形成Visual Studio 2010项目,因此,在任何构建或发布期间,应将某些foo.exe
实用程序复制到输出(bin
)目录。
早期我在.csproj(MSBuild文件)中创建了PostBuildEvent任务:
<PropertyGroup>
<PostBuildEvent>
Copy "$(SolutionDir)Tools\foo.exe" "$(ProjectDir)$(OutDir)foo.exe"
</PostBuildEvent>
</PropertyGroup>
但这不是普遍的。在发布期间(Visual Studio 2010)foo.exe
出现在bin
目录中,但不会复制到输出发布目录。也许我做的一切都完全错了,有一种标准机制可以将项目中的文件包含在以后,在构建或发布期间,复制到bin
?
答案 0 :(得分:99)
答案 1 :(得分:18)
我只需要在构建期间推送文件,所以我只是添加了一个Post-build Event Command Line条目:
Copy /Y "$(SolutionDir)Third Party\SomeLibrary\*" "$(TargetDir)"
您可以通过右键单击解决方案资源管理器中的项目,然后单击属性&gt;来设置此项。建立活动
答案 2 :(得分:4)
在解决方案资源管理器中,请选择要复制到输出目录的文件并分配两个属性: - 构建行动=内容 - 复制到输出目录=始终复制
这样就可以了。
答案 3 :(得分:3)
答案 4 :(得分:0)
在我的情况下,将Copy to Output Directory
设置为Copy Always
和Build并没有成功,而Rebuild就是这样。
希望这有助于某人!
答案 5 :(得分:0)
尝试直接从服务/网络项目中添加对缺少的dll的引用。添加对不同项目的引用对我不起作用。
我在发布我的网络应用时只需这样做,因为它没有复制所有必需的dll。
答案 6 :(得分:0)
正因为我的同伴神经受损的同志可能会在这里冒险,我假设,对于网络项目,如果链接文件是外部.config文件,那么&#34;输出目录&#34;将是web.config所在的目录,即您的Web项目的根目录。回想起来,将链接文件复制到root / bin文件夹完全不足为奇。
因此,如果它是appSettings包含文件,那么您的web.config的开放标记将是
<appSettings file=".\bin\includedAppSettingsFile.config">
咄。