使用新.NET SDK的ReferencePath?

3

我正在尝试在新格式的.csproj文件中指定自定义的ReferencePath

以下是示例:

<PropertyGroup>
  <ReferencePath>C:\...\binaries</ReferencePath>
</PropertyGroup>

以下是参考内容:

<Reference Include="MyDll">
  <Private>false</Private>
  <SpecificVersion>false</SpecificVersion>
</Reference>

C:\...\binaries 包含 MyDll.dll。

然而,在构建期间,我仍然收到以下警告:

警告 MSB3245:无法解析此引用。无法找到程序集“MyDll”。请检查该程序集是否存在于磁盘上。如果您的代码需要此引用,则可能会出现编译错误。

我正在尝试从 HintPath 切换到 ReferencePath,因为它们已经变得难以维护。


据我所知,ReferencePath元素不再受支持。你找到了什么解决方案吗? - honzajscz
@Honzajscz 还没有,仍在使用 HintPath - LOST
2个回答

3
在新的SDK csproj中,你可以使用AssemblySearchPaths变量代替ReferencePath变量来影响程序集探测。
<AssemblySearchPaths>
  $(YOUR_SEMICOLON_SEPARATED_DIR_PATHS);$(AssemblySearchPaths);
</AssemblySearchPaths>

然而,对于旧的.NET Framework项目,这个技巧可能不起作用,请小心使用。


0

可以在新的 csproj 文件中手动添加 ReferencePath:

<PropertyGroup>
    <AssemblySearchPaths>
       $(AssemblySearchPaths);
       $(ReferencePath);
    </AssemblySearchPaths>
</PropertyGroup>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接