我正在开发一个
.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 文件中的一个变量,并使包含该依赖项的所有解决方案项目加载正确的变量)
好吧,事实证明这只是我的一个愚蠢的拼写错误,我使用的是大括号而不是方括号。
这工作正常:
<HintPath>..\libs\$(LibVer)\MyLibrary.dll</HintPath>