当我将此代码直接添加到 .csproj 文件时,引用已正确解析:
<ItemGroup>
<Reference Include="base_csharp">
<HintPath>D:\Repositories\MDSBuild\MdsDrivers\deps\Base\install\bin\Windows\MSVC\x86\Debug\base_csharp.dll</HintPath>
</Reference>
</ItemGroup>
但是,当我将完全相同的代码放在道具文件中时
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Reference Include="base_csharp">
<HintPath>D:\Repositories\MDSBuild\MdsDrivers\deps\Base\install\bin\Windows\MSVC\x86\Debug\base_csharp.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
</Project>
并将该道具文件导入 .csproj
<Import Project="D:\Repositories\MDSBuild\MdsDrivers\deps\Base\scripts\props\base_csharp.props" /
我收到无法解析引用的警告:
警告 MSB3245:无法解析此引用。找不到程序集“base_csharp”。检查以确保该程序集存在于磁盘上。如果您的代码需要此引用,您可能会遇到编译错误。
代码完全相同,所有路径都是绝对的,但由于某种莫名其妙的原因,它无法找到 .dll 文件。我究竟做错了什么?