Более простой и безопасный ответ просто включает в себя создание маски (в отличие от части данных запроса) и позволяет механизму форматирования SQL-инъекций выполнять свою работу.
Предположим, что у нас есть некоторые id
s в массиве и некоторый обратный вызов cb
:
/* we need to generate a '?' for each item in our mask */
const mask = Array(ids.length).fill('?').join();
db.get(`
SELECT *
FROM films f
WHERE f.id
IN (${mask})
`, ids, cb);
У меня был класс в 4.6.1, обновляющий интерфейс, который был в 4.6.2 ... обновление класса до 462 исправило его.
Я получил эту ошибку после открытия проекта, в котором была ссылка на Entity Framework, поэтому я удалил такие ссылки и переустановил Entity Framework версии 6.0.0.0 через pcket-менеджер следующим образом:
install-package entityframework -version 6.0.0.0
Ошибка все еще показывал, поэтому я подумал, что эти ссылки были там, потому что в проекте была более ранняя версия Entity Framework, якобы «предустановленная», но на самом деле она не работала.
Итак, я подошел к файлу packages.config
и заметил, что есть еще одна ссылка:
<packages>
**<package id="EntityFramework" version="5.0.0" targetFramework="net45" />**
<package id="EntityFramework" version="6.0.0" targetFramework="net45" />
</packages>
Затем я удалил строку, очистил и пересобрал проект и контейнерное решение, и оно наконец заработало .
В моем случае проблема заключалась в том, что я вручную удалил некомпиляционный файл, который был помечен как «отсутствующий». Однажды я удалил ссылку на отсутствующий файл и перекомпилировал - все было хорошо.
Для меня это была попытка найти DLL в пути, который раньше содержал Проект, но мы переместили его в новый каталог. У Решения был правильный путь к Проекту, но Visual Studio почему-то продолжал искать в старом месте.
Решение: переименуйте каждый проблемный проект - просто добавьте персонажа или что-то еще - затем переименуйте его обратно в исходное имя.
Это должно сбросить некоторый глобальный кэш некоторого вида в Visual Studio, потому что это очищает и эту проблему, и некоторые подобные, в то время как такие вещи, как Clean, не делают.
Удаление bin/obj папок и затем восстановление проекта работали на меня.
В моем случае, чему я верю, произошел, был то, что я испытал ошибку периода выполнения в первый раз, когда я разработал проект, таким образом, мой dll файл не был не сгенерирован.
Это произошло при ссылке на проект от другого. Проект, на который я ссылался, был тем с проблемой.
Судя по сообщению об ошибке, я не верю, что путь к файлу усекается. Выглядит просто неправильно. Если я правильно читаю сообщение, значит, он ищет файл DLL по адресу ...
WORK = - \ Tools \ VersionManagementSystem \ BusinessLogicLayer \ bin \ Debug \ BusinessLogicLayer.dll
Это недопустимый путь . Возможно ли, что для определения макроса в процессе сборки задано недопустимое значение?
У меня была та же проблема в VS2019. Вот то, что необходимо сделать:
Я столкнулся с этой проблемой. В моем случае я удаляю все мусорное ведро и obj папки из всех проектов затем, эта ошибка решит для меня. Попробуйте это, чтобы еще одна попытка разрешила проблему
В моем случае родительская папка решения имела %20
на имя. Я переименовал родительскую папку путем удаления %20
, и проблема была устранена.
Я получил эту проблему после обновления dlls/nuget.
я мог решить это вручную путем исправления .csproj файла. Главным образом версия не была обновлена в файле. Например:
<Analyzer> Include="..\packages\Microsoft.CodeAnalysis.**VersionCheckAnalyzer.2.9.1**\analyzers\dotnet\Microsoft.CodeAnalysis.VersionCheckAnalyzer.dll"/>
<Analyzer> Include="..\packages\Microsoft.CodeAnalysis.**VersionCheckAnalyzer.2.9.7**\analyzers\dotnet\Microsoft.CodeAnalysis.VersionCheckAnalyzer.dll"/>
Visual Studio 2019 это работало на меня:
.vs
, папка