宿州市网站建设_网站建设公司_Python_seo优化
2026/1/16 1:06:37 网站建设 项目流程

声明:个人笔记,概不负责

答案(可抄)

.csproj 文件所在目录,建一个 Directory.Build.props 文件,然后这么整 —— 无脑拷贝。

唯一 用脑子的地方,就是把 Build 改成实际需要的。(别动 Build 右边,可以动 左边 和 Build 自己)

<!-- Directory.Build.props --><Project><PropertyGroup><ArtifactsRoot>$(MSBuildThisFileDirectory)../../Build/$(MSBuildProjectName)/</ArtifactsRoot><MSBuildProjectExtensionsPath>$(ArtifactsRoot).nuget/</MSBuildProjectExtensionsPath><IntermediateOutputPath>$(ArtifactsRoot)obj/</IntermediateOutputPath><OutputPath>$(ArtifactsRoot)bin/</OutputPath></PropertyGroup>
</Project>

啰嗦的解释

好没养分,但 好奇的猫 都想知道。

因为 MSBuildProjectExtensionsPath 只能在这里改,不能在 .csproj 文件里改。

因为若 IntermediateOutputPath 改了,就必须要改 MSBuildProjectExtensionsPath

因为不改 IntermediateOutputPath 的话,有些时候(有些人)会浑身不舒服

差不多就是说 Directory.Build.props 是想玩花活的 第一站,否则就老老实实的在 .csproj 里 只能看不能动。

(连环套)

因为 Copilot 说,

MSBuild 加载顺序是:<Project Sdk="...">自动导入 Microsoft.Common.props然后才导入 Directory.Build.props(按从上到下查找父目录)再加载 csproj 内容最后加载 Directory.Build.targets

我的推论(reviewed by Copilot)
    推论(根据 MSBuild 加载顺序)- 在 .csproj 中不能直接设置 MSBuildProjectExtensionsPath (Copilot 说)因为 NuGet Restore 早于 .csproj 生效。- (脑回路正常的话)就必须弄个 Directory.Build.props 出来- 也就是讲,想改项目的输出目录,最佳方式就是造个 Directory.Build.props 这样一来 nuget obj bin 都没烦恼

=== 短平快的 结束线 2025-12-28

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询