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

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

例如:我要把下图两个文件中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不能重名

相关推荐
Chris _data5 天前
WPF 学习第三天 — Modbus RTU 串口通信
hadoop·学习·wpf
布吉岛的石头6 天前
Java 程序员第 43 阶段05:微服务整合大模型,跨服务调用架构设计实战,Seata分布式事务实战
wpf
步步为营DotNet6 天前
基于.NET Aspire 实现云原生应用的高效监控与可观测性
云原生·.net·wpf
芒鸽7 天前
HarmonyOS 分布式开发实战:设备协同、数据共享与跨设备迁移
分布式·wpf·harmonyos
Volunteer Technology7 天前
Flink状态管理与容错(二)
大数据·flink·wpf
happyprince7 天前
07_verl-Trainer模块详解
人工智能·架构·wpf·强化学习
bugcome_com8 天前
WPF + Prism 技术指南与实战项目(二、模板搭建)
wpf
小满Autumn8 天前
log4net 日志框架 — 从配置到实战速查手册
笔记·c#·.net·wpf·上位机·log4net
政沅同学8 天前
基于 C# WPF + HALCON 的工业视觉算法工具框架(开源)
开发语言·c#·wpf
happyprince8 天前
03_verl-设计理念与核心原理
wpf