gpt4 book ai didi

build - DotnetCore 项目 IntermediateOutputPath 在解决方案目录中留下了一些文件

转载 作者:行者123 更新时间:2023-12-04 02:44:13 28 4
gpt4 key购买 nike

为了保持存储库干净并与输出和构建文件分开,我们更改了项目文件中的相应路径。

对于指定 的 Net Framework 项目中间输出路径 将 obj 目录重定向到相应的文件夹。

对于 Net Core 项目 (3.0),使用此属性是不够的。而 Debug、Release 文件夹确实被重定向,物镜文件夹仍然被创建,它包含一些文件 - 例如
project.assets.json、.csproj.nuget.cache、.csproj.nuget.dgspec.json、.csproj.nuget.g.props、.csproj.nuget.g.targets。
使用 BaseIntermediateOutputPath - 也没有帮助。

只是想知道是否有人可以建议如何移动整个 obj 目录?
谢谢

Martin 建议的解决方案适用于 Net Core 项目

<Project>
<PropertyGroup>
<BuildDIrectory>C:\Temp\Build\$(Configuration)</BuildDIrectory>
<RelativePath>some arelative path which depends on location of corresponding project withing the solution</RelativePath>

<BaseIntermediateOutputPath>$(BuildDIrectory)\obj\$(RelativePath)\$(AssemblyName)\</BaseIntermediateOutputPath>
<OutputPath>$(BuildDIrectory)\out\$(RelativePath)\$(AssemblyName)\</OutputPath>
<DocumentationFile>$(BuildDIrectory)\Documentation\$(RelativePath)\$(AssemblyName).xml</DocumentationFile>
</PropertyGroup>

<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />

<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>

<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />

...
</Project>

最佳答案

BaseIntermediateOutputPath也可以,但需要很早就设置才能生效。

最简单的方法是将它添加到 Directory.Build.props文件:

<Project>
<PropertyGroup>
<BaseIntermediateOutputPath>$(MSBuildThisFileDirectory)..\shared-obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
</PropertyGroup>
</Project>

如果要直接在csproj文件中指定,则不能使用 <Project Sdk="表示法,因为需要在应用部分 SDK 之前设置该属性。但是,它在使用显式 SDK 导入和正确排序时有效:
<Project>

<PropertyGroup>
<BaseIntermediateOutputPath>..\shared-obj\myprojA\</BaseIntermediateOutputPath>
</PropertyGroup>

<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />

<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<OutputType>Exe</OutputType>
</PropertyGroup>

<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />

</Project>

关于build - DotnetCore 项目 IntermediateOutputPath 在解决方案目录中留下了一些文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57901969/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com