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>
如有幫助,歡迎轉載,轉載請注明原文鏈接:http://www.rzrgm.cn/study10000/p/18835655

浙公網安備 33010602011771號