生成解决方案将文件生成到根目录或指定文件夹下

前提是,先把要放在根目录下的文件都始终复制。

例如:我要把下图两个文件中FASimulator和netcoreapp3.1的文件生成到根目录,首先先把这两个文件下的文件夹都点开,按shift或者ctrl选中,右击属性,选择始终复制。这样生成的时候就能生成的根目录对应的文件夹下。这是前提。

然后双击项目,在配置文件里下配置如下代码,实现把FASimulator和netcoreapp3.1这两个文件夹下的任意文件,在生成的时候复制到根目录下或者复制到根目录指定的文件夹下的效果。

cs 复制代码
	<Target Name="CopySecsFilesToOutput" BeforeTargets="BeforeBuild">		
		<!-- 设定需要复制的文件 -->
		<ItemGroup>
			<Rockey4NDFiles Include="netcoreapp3.1\Rockey4ND.dll" />
			<Rockey4NDFiles Include="netcoreapp3.1\Rockey4ND_X64.dll" />
			<Rockey4NDFiles Include="netcoreapp3.1\apidsp_darwin.dylib" />
			<Rockey4NDFiles Include="netcoreapp3.1\apidsp_windows.dll" />
			<Rockey4NDFiles Include="netcoreapp3.1\apidsp_windows_x64.dll" />
			<Rockey4NDFiles Include="netcoreapp3.1\hasp_net_core.dll" />
			<Rockey4NDFiles Include="netcoreapp3.1\hasp_rt.exe" />
			<Rockey4NDFiles Include="netcoreapp3.1\hasp_windows_24160.dll" />
			<Rockey4NDFiles Include="netcoreapp3.1\hasp_windows_x64_24160.dll" />
			<Rockey4NDFiles Include="netcoreapp3.1\haspvlib_24160.dll" />
			<Rockey4NDFiles Include="netcoreapp3.1\haspvlib_24160.so" />
			<Rockey4NDFiles Include="netcoreapp3.1\haspvlib_x86_64_24160.so" />
			<Rockey4NDFiles Include="netcoreapp3.1\libapidsp_linux_arm64.so" />
			<Rockey4NDFiles Include="netcoreapp3.1\libapidsp_linux_x86_64.so" />
			<Rockey4NDFiles Include="netcoreapp3.1\libhasp_linux_arm64_24160.a" />
			<Rockey4NDFiles Include="netcoreapp3.1\libhasp_linux_arm64_24160.so" />
			<Rockey4NDFiles Include="netcoreapp3.1\libhasp_linux_armhf_24160.a" />
			<Rockey4NDFiles Include="netcoreapp3.1\libhasp_linux_x86_64_24160.a" />
			<Rockey4NDFiles Include="netcoreapp3.1\libhasp_linux_x86_64_24160.so" />
			<Rockey4NDFiles Include="netcoreapp3.1\libRockey4ND.so" />
			<Rockey4NDFiles Include="netcoreapp3.1\libRockey4ND.x86.a" />
			<Rockey4NDFiles Include="netcoreapp3.1\libRockey4ND.x86.so.0.3" />
			<Rockey4NDFiles Include="netcoreapp3.1\libRockey4ND.x86_64.a" />
			<Rockey4NDFiles Include="netcoreapp3.1\libRockey4ND.x86_64.so.0.3" />
			<Rockey4NDFiles Include="netcoreapp3.1\License.dat" />			
		</ItemGroup>
		<!-- 执行文件复制操作 -->
		<Copy SourceFiles="@(Rockey4NDFiles)" DestinationFolder="$(OutputPath)" /><!-- 放根目录下 -->
	</Target>


	<Target Name="Copylibcpsrtso" BeforeTargets="BeforeBuild">
		<ItemGroup>
			<libcpsrtsoFiles Include="netcoreapp3.1\cpsrt\lin\x64\libcpsrt.so" />
		</ItemGroup>
		<Copy SourceFiles="@(libcpsrtsoFiles)" DestinationFolder="$(OutputPath)cpsrt\lin\x64\" /><!--放根目录的cpsrt\lin\x64\下 -->
	</Target>

	<Target Name="Copylibcpsrtdll64" BeforeTargets="BeforeBuild">
		<ItemGroup>
			<libcpsrtdll64Files Include="netcoreapp3.1\cpsrt\win\x64\cpsrt.dll" />
		</ItemGroup>
		<Copy SourceFiles="@(libcpsrtdll64Files)" DestinationFolder="$(OutputPath)cpsrt\win\x64\" /><!--放根目录的cpsrt\win\x64\下 -->
	</Target>

	<Target Name="Copylibcpsrtdll86" BeforeTargets="BeforeBuild">
		<ItemGroup>
			<libcpsrtdll86Files Include="netcoreapp3.1\cpsrt\win\x86\cpsrt.dll" />
		</ItemGroup>
		<Copy SourceFiles="@(libcpsrtdll86Files)" DestinationFolder="$(OutputPath)cpsrt\win\x86\" /><!--放根目录的cpsrt\win\x86\下 -->
	</Target>

	<Target Name="FASimulator" BeforeTargets="BeforeBuild">		
		<ItemGroup>
			<FASimulatorFiles Include="FASimulator\FASimulator Manual Ver 1.01 (EN).pdf" />
			<FASimulatorFiles Include="FASimulator\FASimulator Manual Ver 1.01.pdf" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\Config\SECS\GEM Format.txt" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\Config\SECS\GEM Format_Host.txt" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\Config\SECS\GEM300 Format.txt" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\Config\SECS\GEM300 Format_Host.txt" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\212121.fas" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\Delta.DIAAuto.Simulator.Core.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\Delta.DIAAuto.Simulator.Core.pdb" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\Delta.DIAAuto.Simulator.Log.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\Delta.DIAAuto.Simulator.Log.pdb" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\Delta.DIAAuto.Simulator.SECS.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\Delta.DIAAuto.Simulator.SECS.pdb" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\DIASECS.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\HVM412_DIAAuto_FASimulator.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\HVM412_DIAAuto64_FASimulator.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\License.dat" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\log4net.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\Newtonsoft.Json.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\NLog.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\ProductLicenseChecker.dll" />
			<!--<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\Rockey4ND.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\Rockey4ND_X64.dll" />-->
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\SECSGEM_Eqp.fas" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\SECSGEM_Host.fas" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\SECSGEM300_Eqp.fas" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\SECSGEM300_Host.fas" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\SimulatorWorkbench.exe" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\SimulatorWorkbench.exe.config" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\SimulatorWorkbench.pdb" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\SoftLicenseAPI.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\UniAuto.UniBCS.Core.Cryptography.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\UniAuto.UniBCS.Log.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\UniAuto.UniBCS.Message.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\UniTreeGridView.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\Unme.Common.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\WeifenLuo.WinFormsUI.Docking.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\WeifenLuo.WinFormsUI.Docking.pdb" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll" />
			<FASimulatorFiles Include="FASimulator\FASimulator_1.0.0.13\WeifenLuo.WinFormsUI.Docking.ThemeVS2015.pdb" />
		</ItemGroup>
		<Copy SourceFiles="@(FASimulatorFiles)" DestinationFolder="$(OutputPath)" /><!-- 放根目录下 -->
	</Target>

1.复制到根目录下,例如:DestinationFolder="$(OutputPath)",这是生成到根目录下

复制代码
<Target Name="CopySecsFilesToOutput" BeforeTargets="BeforeBuild">		
	<!-- 设定需要复制的文件 -->
	<ItemGroup>
		<Rockey4NDFiles Include="netcoreapp3.1\Rockey4ND.dll" />
		<Rockey4NDFiles Include="netcoreapp3.1\Rockey4ND_X64.dll" />
	</ItemGroup>
	<!-- 执行文件复制操作 -->
	<Copy SourceFiles="@(Rockey4NDFiles)" DestinationFolder="$(OutputPath)" /><!-- 放根目录下 -->
</Target>

2.复制到根目录指定的文件夹下 例如: DestinationFolder="$(OutputPath)cpsrt\lin\x64\",这个是生成到根目录的cpsrt文件夹里的lin里的x64里。

复制代码
	<Target Name="Copylibcpsrtso" BeforeTargets="BeforeBuild">
		<ItemGroup>
			<libcpsrtsoFiles Include="netcoreapp3.1\cpsrt\lin\x64\libcpsrt.so" />
		</ItemGroup>
		<Copy SourceFiles="@(libcpsrtsoFiles)" DestinationFolder="$(OutputPath)cpsrt\\lin\\x64\\" /><!--放根目录的cpsrt\lin\x64\下 -->
	</Target>

注意:Name和SourceFiles不能重名

相关推荐
记忆停留w2 天前
Celery+Redis 分布式异步任务队列工程落地业务逻辑
大数据·人工智能·redis·分布式·缓存·架构·wpf
雪靡2 天前
WPF PerMonitorV2 下的跨窗口问题
c#·wpf
listening7773 天前
HarmonyOS 6.1 分布式文件服务实战:跨设备商品图片/视频秒开方案
wpf·harmonyos
Macbethad3 天前
基于WPF的半导体设备EAP控制程序架构设计与实现
wpf
国服第二切图仔3 天前
HarmonyOS APP《画伴梦工厂》开发第60篇-分布式软总线2.0——多设备协同新范式
分布式·wpf·harmonyos
精神底层4 天前
拒绝 UI 卡死!我用 CSnakes 实时拦截 Python 训练流,在 WPF 中重构了 ScottPlot 5 高性能 AI 看板
python·ui·wpf
爱吃大芒果4 天前
不用多设备模拟器跑通 ShareKit 碰一碰分享
华为·wpf·harmonyos
贪玩的小松鼠5 天前
WPF基础到企业应用系列7——深入剖析依赖属性(WPF/Silverlight核
wpf
界面开发小八哥5 天前
界面控件DevExpress WPF v26.1新版亮点 - TreeView、Spreadsheet控件功能升级
.net·wpf·界面控件·devexpress·ui开发
斯文的八宝粥5 天前
WPF企业内训全程实录(下)
大数据·hadoop·wpf