visual-studio - 从自动生成输出目录停止 Visual Studio 2017
问题描述
因此,我有一个包含 70 个项目的解决方案,我更新为使用 Directory.build.props 文件来使用单个 bin 文件夹来使我们的 CI 流程更干净。效果很好,现在一切都在 1 个位置
但现在的问题是,当我打开 Visual Studio 2017 时,它会创建一堆额外的项目文件夹,现在这些文件夹永远不会被使用。无论如何要禁用它?它只是让人们感到困惑,并且把每个人的开发仓库都弄得乱七八糟。
例子:
%sourceroot%\bin\release\ (这是所有项目愉快地合并的地方)
%sourceroot%\bin\project1Neverused\(不想要的文件夹只会让我的开发箱变得混乱)
%sourceroot%\bin\project2neverUsed\
%sourceroot%\bin\project1Neverused\
%sourceroot%\bin\project2neverUsed\
这是我的 Directory.build.props 文件:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir>
<OutputPath>$(SolutionDir)bin\$(Configuration)\$(MSBuildProjectName)</OutputPath>
<OutDir>$(OutputPath)</OutDir>
</PropertyGroup>
</Project>
解决方案
现在在 Visual Studio 中打开 sln 文件,如果你看起来 VS 会自动生成这些文件夹,即使你还没有构建任何东西。我希望禁用它,因为它只是生成未使用的垃圾文件夹。由于我们使用 msbuild 的 props 文件来进行 binplace,因此我们没有从默认的“bin\debug”更新每个项目文件
是的,默认情况下,Visual Studio 将bin/obj
在您创建新项目/解决方案时创建这些文件夹。似乎没有直接设置来阻止 Visual Studio 生成这些文件夹。
作为一种解决方法,您可以尝试在Directory.build.props
文件中添加删除任务以删除这些文件夹:
<Target Name="CleanFolder" AfterTargets="Build">
<RemoveDir Directories="$(BaseIntermediateOutputPath)" />
<RemoveDir Directories="$(ProjectDir)bin" />
</Target>
希望这可以帮助。
推荐阅读
- ios - 如何使用 Xcode 11 在情节提要中创建单个文本 URL?如果在代码中完成,我的所有界面都将被删除,除了编码的文本字段
- python - 一行 if 语句,ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()
- xamarin.android - 如何读取图库中所有图像的名称?
- python-3.x - 在 Windows cmd 行上从 Python 脚本打开 Jupyter Notebook
- reactjs - gatsby 的问题:将 gatsby 站点部署到 netlify 时找不到命令
- c++ - 如何在不创建新类的情况下部分填写 C++ 模板模板参数
- html - 为什么宽度为 100vw 时 x 轴上有滚动?
- c++ - 内存分配如何在指向 char 的双指针中工作
- java - 没有类型信息的多态反序列化
- javascript - 如何从 reactjs 中的 navbar.js 按钮访问嵌套函数?