带有新.NET SDK的ReferencePath?

时间:2018-09-20 21:25:10

标签: csproj dotnet-sdk

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

这是它的样子:

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

参考如下:

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

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

但是,在构建过程中我仍然得到

  

警告MSB3245:无法解决此引用。找不到   程序集“ MyDll”。检查以确保   程序集存在于磁盘上。如果您的代码需要此参考,   您可能会遇到编译错误。

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

3 个答案:

答案 0 :(得分:2)

在新的SDK csproj中,您可以使用 AssemblySearchPaths 变量代替 ReferencePath 变量来影响组装探测

<AssemblySearchPaths>
  $(YOUR_SEMICOLON_SEPARATED_DIR_PATHS);$(AssemblySearchPaths);
</AssemblySearchPaths>

但是,请注意在旧的.NET Framework项目中此技巧不起作用。

答案 1 :(得分:0)

ReferencePath可以手动添加到新的csproj:

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

答案 2 :(得分:-2)

我认为,如果在项目的properties-> build窗口中使用路径 C:... \ binaries 修改该dll的输出路径,则更好:

enter image description here