C# 项目文件配置
C# 项目文件配置
一、常量
- 目录
# 项目目录 $(ProjectDir) # 输出目录 # 编译:bin\Debug\net8.0\ # 发布:bin\Release\linux-x64\ $(OutDir) # 发布目录 # 编译:bin\Debug\net8.0\publish\ # 发布:$(ProjectDir)bin\Release\linux-x64\PubTmp\Out $(PublishDir) - 环境
# 配置 # Debug # Release $(Configuration) - 目标框架
# 目标框架 # net6.0 # net7.0 $(TargetFramework) - 其他
# Apricot 目录下所有文件 Apricot\**\*.* # Apricot 目录下所有(文件、目录) Apricot\**\* # 递归目录 %(RecursiveDir) - 待续
二、输出
- 查看方式
编译输出栏目-> 错误列表->下拉框选择当前项目 - 消息
<Target Name="Message" AfterTargets="Build"> <Message Text=" Print Message ... "/> </Target> - 警告
<Target Name="Warning" AfterTargets="Build"> <Message Text=" Print Warning ... "/> </Target>
三、复制文件
- 参考项目
- 编译复制
<!--添加来源文件属性--> <ItemGroup> <BuildFile Include="opencv\Windows\*"/> </ItemGroup> <!--将来源文件拷贝至(bin/Debug/net8.0)--> <Target Name="CopyFile" AfterTargets="Build"> <Copy SourceFiles="@(BuildFile)" DestinationFolder="$(OutDir)" /> </Target> - 发布复制
<!--添加来源文件属性--> <ItemGroup> <PublishFile Include="opencv\Windows\*"/> </ItemGroup> <!--将来源文件拷贝至(bin/Debug/net8.0)--> <Target Name="CopyFile" AfterTargets="Publish"> <Copy SourceFiles="@(PublishFile)" DestinationFolder="$(PublishDir)" /> </Target> - 1
四、复制文件夹
- 参考项目
- 编译复制
<!--需要复制的目录--> <ItemGroup> <BuildFile Include="opencv\Windows\**\*"/> </ItemGroup> <!--复制到 Windows 目录--> <Target Name="BuildCopyFile" AfterTargets="AfterBuild"> <!--输出目录--> <Warning Text="$(OutDir)"/> <!--拷贝整个目录至 bin 目录--> <Copy SourceFiles="@(BuildFile)" DestinationFolder="$(OutDir)\Windows\%(RecursiveDir)" /> </Target> - 发布复制
<!--将bin 目录编译的运行时目录--> <ItemGroup> <PublishFile Include="bin\$(Configuration)\$(TargetFramework)\runtimes\**\*"/> </ItemGroup> <Target Name="PublishCopyFile" AfterTargets="Publish"> <!--输出目录--> <Warning Text="publish: $(PublishDir)"/> <!--拷贝整个目录至 Release 目录--> <Copy SourceFiles="@(PublishFile)" DestinationFolder="$(PublishDir)\runtimes\%(RecursiveDir)" /> </Target>
五、项目打包
- 参考项目
- 整体打包 & 引用项目
<ItemGroup> <!--输出引用项目程序集、引用包标识--> <ProjectReference Include="..\Apricot.Http.Net\Apricot.Http.Net.csproj"> <ReferenceOutputAssembly>true</ReferenceOutputAssembly> <IncludeAssets>Apricot.Http.Net.dll</IncludeAssets> </ProjectReference> <ProjectReference Include="..\Apricot.Infrastructure\Apricot.Infrastructure.csproj"> <ReferenceOutputAssembly>true</ReferenceOutputAssembly> <IncludeAssets>Apricot.Infrastructure.dll</IncludeAssets> </ProjectReference> </ItemGroup> <!--输出所有依赖包dll--> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU' Or '$(Configuration)|$(Platform)'=='Release|AnyCPU' "> <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> </PropertyGroup>
如有帮助,欢迎转载,转载请注明原文链接:https://www.cnblogs.com/study10000/p/18835655

浙公网安备 33010602011771号