在 csproj 的 OutputPath 中使用 $(TargetName) 或 $(ProjectName)

Use $(TargetName) or $(ProjectName) in OutputPath of csproj

我正在尝试将我的 C# 项目的 <OutputPath> 设置为项目名称,但是当项目构建时,它只解析 $(SolutionDir) 而不是 $(ProjectName) 或更好$(TargetName).

如何在 <OutputPath> 中使用目标名称?

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>$(SolutionDir)bin\Release\plugins$(ProjectName)</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <PlatformTarget>AnyCPU</PlatformTarget>
  </PropertyGroup>

我发现您可以在完整的 csproj 中使用属性组中使用的已定义属性。

所以我用了$(AssemblyName):

<OutputPath>$(SolutionDir)bin\Release\plugins$(AssemblyName)</OutputPath>