因此,我有一个包含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>
答案 0 :(得分:-1)
现在在Visual Studio中打开sln文件,如果您看起来VS会自动生成这些文件夹,即使您尚未构建任何东西。我希望将其禁用,因为它只是生成未使用的垃圾文件夹。由于我们将props文件用于msbuild进行二进制放置,因此我们没有从默认的“ bin \ debug”
更新每个项目文件。
是的,默认情况下,Visual Studio将在创建新项目/解决方案时创建这些bin/obj
文件夹。似乎没有直接设置可以阻止Visual Studio生成这些文件夹。
作为一种解决方法,您可以尝试在Directory.build.props
文件中添加删除任务以删除这些文件夹:
<Target Name="CleanFolder" AfterTargets="Build">
<RemoveDir Directories="$(BaseIntermediateOutputPath)" />
<RemoveDir Directories="$(ProjectDir)bin" />
</Target>
希望这会有所帮助。