当我将此代码直接添加到.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:无法解析此引用。无法找到程序集&#34; base_csharp&#34;。检查以确保磁盘上存在程序集。如果您的代码需要此引用,则可能会出现编译错误。
代码完全相同,所有路径都是绝对的,但由于某些莫名其妙的原因,它无法找到.dll文件。我做错了什么?
答案 0 :(得分:0)
一个问题是您打开了 2 个“ItemGroup”标签,而只关闭了一个。
如果你的路径是绝对路径,你可以这样给出:
<ItemGroup>
<Reference Include= "D:\Repositories\MDSBuild\MdsDrivers\deps\Base\install\bin\Windows\MSVC\x86\Debug\base_csharp.dll" />
</ItemGroup>