【问题标题】:Autogenerated IntermediateOutputPath in the .csproj file.csproj 文件中自动生成的 IntermediateOutputPath
【发布时间】:2017-03-10 05:53:19
【问题描述】:

从 Git 更新代码后,csproj 出现错误,因为 file 路径不存在。这是引发错误的代码:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ZAL_Release|x64'">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>..\Release\bin\soft\</OutputPath>
    <DefineConstants>TRACE;ZAL</DefineConstants>
    <DebugType>full</DebugType>
    <PlatformTarget>x64</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
    <Optimize>true</Optimize>
    <IntermediateOutputPath>C:\Users\HARRY~1\AppData\Local\Temp\vs543E.tmp\x64\ZAL_Release\</IntermediateOutputPath>
</PropertyGroup>

这个filepath 存在于Harry 的计算机上,但不在我的计算机上。这个名字的人不知道他是如何创建的,所以我假设是 Visual Studio 创建的。这就是为什么我有三个问题:

1. csproj 中的IntermediateOutputPath 标签的目的是什么? (我已经查过MSDN文档,但还是不清楚)

2. Harry 是如何生成代码的(因为他不知道)?

3. 是否可以使用通用变量来获取每个人都可以使用的文件路径?在这种情况下,这个IntermediateOutputPath 是程序运行所必需的吗?

【问题讨论】:

  • @TheGeorgeous :我不明白你为什么要我删除 csproj 文件然后打开项目。如果我这样做,它不会打开项目,我什至会丢失一些数据,比如项目引用。
  • 无论如何,你绝对应该从 git 中删除这个文件。 .csproj 文件是每个 Visual Studio 项目的中心项目文件,没有它,人们将无法处理您的项目。

标签: c# git visual-studio csproj


【解决方案1】:
  1. 项目文件中的OutputPath

    指定输出目录的路径,相对于项目目录,例如“bin\Debug”。

    BaseOutputPath

    指定输出文件的基本路径。如果已设置,MSBuild 将使用 OutputPath = $(BaseOutputPath)\$(Configuration)。示例语法:c:\xyz\bin\

    BaseIntermediateOutputPath

    创建所有特定于配置的中间输出文件夹的顶级文件夹。默认值为 obj。以下代码为示例:c:\xyz\obj\

    IntermediateOutputPath

    如果未指定路径,则从 BaseIntermediateOutputPath 派生的完整中间输出路径。例如,\obj\debug。如果此属性被覆盖,则设置 BaseIntermediateOutputPath 无效。

    您可以阅读此内容here。一般来说,这些路径应该是相对的,绝不会导致任何主文件夹或其他用户特定路径。

  2. 请参阅this question,了解如何将IntermediateOutputPath 插入到您的csproj 文件中。

    编辑:实际上,这是一个模糊的解释,但我找不到任何其他信息。密切关注您的 csproj 文件的更改,以确定更改的原因。

  3. 您可以将IntermediateOutputPath 设置为相对路径。但是,您也可以删除整个标签并使用默认值。在我们的 Visual Studio 2015 项目文件中,我们只设置了基础 OutputPath,一切正常。我认为您的中间对象的默认位置是/obj

【讨论】:

  • 好的,我删除了 IntermediateOutputPath 行,它工作正常。每个人都很高兴。感谢@kowsky
  • 不好。每次我从命令行发布时,Visual Studio 都会不断插入这个用户特定的绝对路径,并且无法阻止它。主要错误。撰写此评论时最新版本的 Visual Studio 2019。
  • @Triynko 你有没有在解决 VS2019 的顽固问题上取得任何进展?我遇到了你描述的同样的问题。
猜你喜欢
  • 2011-05-29
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 2020-07-22
  • 1970-01-01
  • 2019-06-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多