ReferencePath с новым.NET SDK?
Я пытаюсь указать кастом ReferencePath
в моем файле.csproj, который использует новый формат.
Вот как это выглядит:
<PropertyGroup>
<ReferencePath>C:\...\binaries</ReferencePath>
</PropertyGroup>
Со следующей ссылкой:
<Reference Include="MyDll">
<Private>false</Private>
<SpecificVersion>false</SpecificVersion>
</Reference>
C:\...\binaries
содержит MyDll.dll
Тем не менее, во время сборки я все еще получаю
предупреждение MSB3245: не удалось разрешить эту ссылку. Не удалось найти сборку "MyDll". Убедитесь, что сборка существует на диске. Если эта ссылка требуется вашим кодом, вы можете получить ошибки компиляции.
Я пытаюсь перейти на ReferencePath
от HintPath
с, как они стали громоздкими, чтобы поддерживать.
2 ответа
В новом SDK csproj вы можете использовать переменную AssemblySearchPaths вместо переменной ReferencePath, чтобы влиять на проверку сборки
<AssemblySearchPaths>
$(YOUR_SEMICOLON_SEPARATED_DIR_PATHS);$(AssemblySearchPaths);
</AssemblySearchPaths>
Однако будьте осторожны со старыми проектами.NET Framework, где этот трюк не работает.
ReferencePath можно добавить вручную в новый csproj:
<PropertyGroup>
<AssemblySearchPaths>
$(AssemblySearchPaths);
$(ReferencePath);
</AssemblySearchPaths>
</PropertyGroup>
Я думаю, что лучше, если вы измените выходной путь этой DLL с помощью вашего пути C:...\binaries в окне properties->build проекта: