c# - 完全更改 c# 项目中的 obj 文件夹位置
问题描述
MSBuild 很奇怪
之后,我更改了文件中的<IntermediateOutputPath>
and <BaseIntermediateOutputPath>
,但是...<OutputPath>
.csproj
它不断在旧obj
文件夹中创建这些奇怪的东西(我不使用 nuget)
project.assets.json
project.nuget.cache
project.packagespec.json
...
我已经阅读了有关 Visual Studio 旧工作流导致此行为的信息,但是否存在任何解决方法?
我当前的.csproj
文件:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<StartupObject>Program</StartupObject>
<IntermediateOutputPath>..\..\obj\</IntermediateOutputPath>
<BaseIntermediateOutputPath>..\..\obj\</BaseIntermediateOutputPath>
<OutputPath>..\..\bin\Build\</OutputPath>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="foo\dependency.csproj" />
</ItemGroup>
</Project>
解决方案
通过在项目的根目录中创建 Directory.Build.props 文件来解决:
<Project>
<PropertyGroup>
<MSBUildProjectExtensionsPath>..\..\obj\</MSBUildProjectExtensionsPath>
</PropertyGroup>
</Project>
非常肮脏和不明显的微软风格黑客
在这里找到
有没有什么好的 .NET 编译器用于 Windows 而不会渗透到你自己?
推荐阅读
- git - 重命名存储库后权限被拒绝
- laravel - `Vagrant reload --provision` 没有将新项目文件复制到虚拟机
- google-apps-script - 为什么在 Google 表格中使用此代码打开时活动单元格不会发生变化?
- android - Android Studio 无法在 macOS 系统上运行网络摄像头
- kotlin - Kotlin,Gradle - 无法运行文件 NoClassDefFoundError
- python - 每次都获取 AttributeError
- python - 使用标记从列中解析多个子字符串并将它们放入新列中
- sql - 有没有办法通过多个分组找到最高价值
- php - 从价值=预定的行中获取数据;在使用 PHP 加密的 Sql 数据库中
- java - 如何使用 Weblogic Eclipse 服务器在本地机器上运行 Eclipse 项目?