Как обновить ссылки на сборки в веб-сайте? - PullRequest
0 голосов
/ 15 октября 2010

Я делаю сборку с использованием FinalBuilder Pro 7.

У меня есть веб-сайт asp.net, и я пытаюсь использовать действие FinalBuilder «Precompile Asp.net 2.0 Application».Ну, это не удается.

Для успешной сборки мне нужно запустить Visual Studio, открыть веб-сайт и либо собрать его вручную из VS, либо вручную обновить все ссылки.После этого он работает.

Теперь вопрос: как заставить FinalBuilder обновить эти ссылки?Даже если я создам проект веб-развертывания, связанный с веб-сайтом, и попытаюсь создать его с помощью действия msbuild, он потерпит неудачу по той же причине.Так или иначе ни одно действие не обновляет ссылки автоматически.

UPD: ОК.Может быть, мне нужно заставить msbuild обновить ссылки.Как это сделать?Я нашел некоторые свойства, которые я могу изменить в действии msbuild.На под названием «ResolveAssemblyReferencesDependsOn» я попытался поставить значение = true.Не помоглоЕсть идеи?

Ответы [ 3 ]

2 голосов
/ 11 октября 2018

В .NET существуют различные типы проектов, такие как проект библиотеки, проект веб-сайта, проект веб-API и т. Д. Как вы упомянули в своем вопросе, это проект веб-сайта, поэтому я собираюсь дать вам решение для проекта веб-сайта.Вы можете построить проект двумя способами.Либо вы можете построить визуальную студию или вы можете построить с помощью MS Build.Если вы строите свой проект с использованием VS, вы можете обновить ссылки на ваши зависимости, выполнив команду «Update-Package -reinstall» в консоли диспетчера пакетов.Он автоматически переустановит все пакеты.Обратите внимание, что все ваши зависимости перечислены в файле packages.config.Во-вторых, если вам нужно построить свой проект с помощью MS Build, используя приглашение cmd, чтобы загрузить все зависимости из nuget, вам нужно выполнить nuget.exe.По которому будут загружены все ваши зависимости, но их ссылки могут не обновляться.Таким образом, в проекте сайта у вас нет файла .proj .Таким образом, вы не можете иметь доступ к ссылкам ваших зависимостей.Теперь проблема в том, как вы можете изменить ссылки на ваши зависимости?В проекте веб-сайта ссылка на сборку существует в файле .refresh .Поэтому вы должны изменить этот .refresh файл, чтобы обновить ссылку на сборку в проекте веб-сайта.

1 голос
/ 18 октября 2010

Вы пытались использовать действия «Построить решение VS.NET» или «Проект MSBuild»? Оба должны разрешить ваши ссылки на сборки, если ссылка установлена ​​в правильном месте. Это требует, чтобы у вас был хотя бы файл проекта.

Насколько я понимаю, действие Precompile (которое использует MS aspnet_compile.exe - см. http://msdn.microsoft.com/en-us/library/ms229863(VS.80).aspx)) предназначено для повторной компиляции приложения asp.net, которое ранее было построено с помощью VS или MSBuild. или компиляция на месте для повышения производительности для первого пользователя, который заходит на сайт, или создание развертываемого приложения (удаление исходного кода и т. д.) Это не является альтернативой VS / MSBuild.

0 голосов
/ 20 марта 2013

Я не уверен на 100%, что понимаю проблему, но я считаю, что вам нужно иметь возможность автоматически исправлять некоторые пути в ссылке на сборку.

Я создал проект для этого (наряду с некоторыми другими вещами): refswap.codeplex.com

...