在.NET中的库依赖路径中使用变量

问题描述 投票:0回答:1

我正在开发一个

.NET 6
C#
应用程序,并且解决方案中的一些项目依赖于外部 DLL 库。

我想要的是能够在 .csproj 文件中的库引用的路径中使用变量。我以为你可以做这样的事情:

<PropertyGroup>
    <LibVer>v1.2</LibVer>
</PropertyGroup>

<ItemGroup>
    <Reference Include="MyLibrary">
        <HintPath>..\libs\${LibVer}\MyLibrary.dll</HintPath>
    </Reference>
</ItemGroup>

但是,这不起作用,一旦我这样做,项目就不再编译了。我在编译输出中没有收到任何特定错误,我得到的只是包含库中的任何类型都无法识别,并出现经典错误:

错误CS0246:找不到类型或命名空间名称“XXXXX” (您是否缺少 using 指令或程序集引用?)

这可以做到吗?如果是这样,正确的方法是什么?

(有关动机的一些背景:我有此依赖项的多个不同版本,我希望能够仅更改公共 .csproj 文件中的一个变量,并使包含该依赖项的所有解决方案项目加载正确的变量)

c# msbuild .net-6.0 csproj
1个回答
0
投票

好吧,事实证明这只是我的一个愚蠢的拼写错误,我使用的是大括号而不是方括号。

这工作正常:

<HintPath>..\libs\$(LibVer)\MyLibrary.dll</HintPath>
© www.soinside.com 2019 - 2024. All rights reserved.