Файл метаданных … не мог быть найден ошибку когда строительные проекты

Здесь много хороших ответов, но я хотел бы отметить, что их можно очень просто расширить, чтобы добиться более сложной сортировки. Единственное, что вам нужно сделать, это использовать оператор OR для цепочки сравнения, например:

objs.sort((a,b)=> fn1(a,b) || fn2(a,b) || fn3(a,b) )

Где fn1, fn2, ... являются функциями сортировки, которые возвращают [- 1,0,1]. Это приводит к «сортировке по fn1», «сортировке по fn2», которая в значительной степени равна ORDER BY в SQL.

Это решение основано на поведении оператора ||, который оценивает значение первое оцениваемое выражение, которое может быть преобразовано в true .

Простейшая форма имеет только одну встроенную функцию:

// ORDER BY last_nom
objs.sort((a,b)=> a.last_nom.localeCompare(b.last_nom) )

Имея два шага с last_nom , порядок сортировки first_nom будет выглядеть так:

// ORDER_BY last_nom, first_nom
objs.sort((a,b)=> a.last_nom.localeCompare(b.last_nom) || 
                  a.first_nom.localeCompare(b.first_nom)  )

Общая функция сравнения может быть примерно такой:

// ORDER BY 
let cmp = (a,b,n)=>a[n].localeCompare(b[n])

Эта функция может быть расширена для поддержки числовых полей , чувствительность к регистру, произвольные типы данных и т. д.

Вы можете использовать его с привязкой к ним по приоритету сортировки:

// ORDER_BY last_nom, first_nom
objs.sort((a,b)=> cmp(a,b, "last_nom") || cmp(a,b, "first_nom") )
// ORDER_BY last_nom, first_nom DESC
objs.sort((a,b)=> cmp(a,b, "last_nom") || -cmp(a,b, "first_nom") )
// ORDER_BY last_nom DESC, first_nom DESC
objs.sort((a,b)=> -cmp(a,b, "last_nom") || -cmp(a,b, "first_nom") )

. Дело в том, что чистый JavaScript с функциональным подходом может принять вас долгий путь без внешних библиотек или сложного кода. Это также очень эффективно, так как не нужно выполнять синтаксический анализ строк

98
задан Robert Höglund 30 November 2008 в 18:11
поделиться

8 ответов

У меня возникла похожая проблема, когда «метаданные не найдены». В свойстве решения убедитесь, что флажок «build» отмечен в Build / Configuration Manager для каждого проекта.

133
ответ дан 24 November 2019 в 05:14
поделиться

У меня была эта проблема, не уверенная, если она поможет, но мой был вызван при наличии двух различных версий того же проекта, на который ссылаются два различных решения. Когда я создал решение со ссылкой на корректный проект сначала, второе решение создаст прекрасный, однако, если бы я убрал первое решение и попытался создать второе решение, то это перестало бы работать с этими dll ссылочными сообщениями об ошибках.

решение для меня выясняло, что у меня было два проекта с тем же именем, которое было случайно дублировано и удаление ссылки на старый неправильный проект и добавление ссылки на новую.

В любом случае кажется, что эти сообщения являются определенным отвлекающим маневром, я проверил бы Ваш вывод сборки и нашел бы первый проект, которому не удается создать и очень тщательно проверить ссылки на том проекте.

7
ответ дан 5 November 2019 в 12:18
поделиться

Произошло то же самое. У меня есть несколько решений, относящихся к одним и тем же проектам библиотеки (.net 3.5). Я заметил, что когда один был построен в отладочной / нормальной конфигурации, а другой с использованием другой директивы компилятора (sqlite / local mode), это могло произойти. Просто создайте оба проекта с одинаковыми директивами, и все будет в порядке.

0
ответ дан 24 November 2019 в 05:14
поделиться

Обычно это вызвано тем, что проект упоминается в другом решении, нежели тот, который выдает ошибку. Если вы очистите другое решение или разветвите код, вы, скорее всего, увидите эту ошибку. Решение состоит в том, чтобы прокрутить список ошибок типа «метаданные не найдены» и посмотреть ссылки на проекты. 9 из 10 раз вы увидите неработающую ссылку на проект, которого нет в этом решении. Добавьте проекты, чтобы исправить опорные ошибки, и перестройте. Это должно исправить это.

(Я столкнулся с этим сегодня, и сталкивался с этим в прошлом, и это ВСЕГДА работало)

26
ответ дан 24 November 2019 в 05:14
поделиться

В прошлом, как в VS2005, так и сейчас в VS2008 я обходил это, чтобы убедиться, что все зависимости верны, а ссылки указывают на проекты, а не на библиотеки DLL. Затем пройдите и вручную соберите каждый проект в порядке зависимости. После того, как последняя сборка будет построена, вы можете запустить полную сборку решения и все будет в порядке.

Этот ответ предназначен для использования в будущем другими, поскольку я знаю, что этому вопросу более 15 месяцев.

Ура

2
ответ дан 24 November 2019 в 05:14
поделиться

Если вы добавили в решение новый проект, убедитесь, что он есть в списке сборки (см. диспетчер конфигурации)

0
ответ дан 24 November 2019 в 05:14
поделиться

Я столкнулся с проблемой сохранения, когда хотел включить файл dll, сгенерированный Matlab. И я, наконец, решил эту проблему, скопировав .ctf файл, что означает сертификат, я полагаю, и .netmodule, который необходим для правильной работы .dll, вместе с .dll файлом. И это действительно сработало! Итак, я предлагаю проверить, нужны ли .dll какие-либо другие файлы для совместной работы.

0
ответ дан 24 November 2019 в 05:14
поделиться

У меня есть пара замечаний.

Если вы полагаетесь на файл решения в качестве файла сборки в MSBuild, убедитесь, что вы добавляете проекты в файл решения в том порядке, в котором вы хотите, чтобы они строились, т. Е. На основе порядка взаимной зависимости проектов. Это становится очень важным, если у вас есть проекты в решении, от которых зависят другие проекты, но ссылки были добавлены как «Ссылки», а не как «Ссылки на проекты».

Вам следует избегать этого, как чумы, но в случае, если вам все же нужно это сделать, по крайней мере, убедитесь, что зависимые проекты появляются раньше в файле решения.

Вы должны помнить, что способ создания порядка сборки в Visual Studio не совсем такой, как в MSBuild. Это связано с тем, что MSBuild в первую очередь зависит от файла проекта, чтобы сообщить ему, каковы зависимости, тогда как Visual Studio также может сохранить их в файле решения. Таким образом, иногда можно увидеть ситуации, когда Visual Studio создает решение идеально, но MSBuild просто не может этого сделать.

У меня было несколько случаев, когда мне приходилось вручную настраивать порядок, в котором проекты появляются в файле решения, а также порядок, в котором проекты были перечислены в элементе ProjectReferences в проекте веб-сайта в решении. файл.

Я надеюсь, что приведенная выше информация поможет.

2
ответ дан 24 November 2019 в 05:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: