Ссылки на веб-сайты Visual Studio

Расширение @mario выше, я использовал это в верхней части моего php-файла (в dev, а не в производстве, конечно!), который отлично работает. Даже в файлах администратора Wordpress!

ini_set('error_prepend_string',"<div class='error'>")  ;
ini_set('error_append_string',"</div>")  ;
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
13
задан David Boike 10 November 2008 в 22:44
поделиться

3 ответа

При ссылке на .dll именем файла через вкладку обзора должен быть .refresh созданный файл (вложен под dll в МУСОРНОМ ВЕДРЕ). Мы помещаем тех в SVN, и он работает отлично (Вам, вероятно, придется вручить, редактируют их для использования относительных путей).

Ссылки, добавленные от вкладки.NET, добавляются к ссылкам проекта web.config

, хранятся в решении (.sln) файл. Откройте .sln файл, и Вы будете видеть их перечисленный:

Project("{xxxxxxx-7377-xxxx-xxxx-BC803B73C61A}") = "XXXXXXX.Web", "XXXXXXX.Web", "{xxxxxxxx-BB14-xxxx-B3B6-8BF6D8BC5AFF}"
    ProjectSection(WebsiteProperties) = preProject
        TargetFramework = "3.5"
        ProjectReferences = "{xxxxxxxx-C3AB-xxxx-BBED-2055287036E5}|XXXXXX.Data.dll;
            ...
18
ответ дан John Sheehan 10 November 2008 в 22:44
поделиться

Я использую copyprojectDll.ps1 powershell.

Моя структура папок ниже

  • веб-сайт/мусорное ведро ClassLibraries
    ThirdParty

    , CopyprojectDll.ps1
    Website.sln

ClassLibraries является классами кода для моего проекта, DAL.. Проект веб-сайта включает только веб-файлы, aspx, aspx.cs.. ThirdParty являются требуемыми библиотеками, AjaxToolkit и т.д.

, я компилирую ClassLibraries.sln, я выполняю CopyprojectDll.ps1, я использую Website.sln после этого.

Образец powershell файл ниже.

$folders = (); $folders + = $folders "IB.Security" + = "ClassLibraries/Core. Классы"

функциональный CopyDllsToWebBin ($dll_files) {если ($dll_files-eq $null) {возврат;} $targetfolder = "./Kod/bin /"

foreach($dll in $dll_files)
{

    copy-item $dll.FullName -destination "$targetfolder" -force #-Verbose
}

}

функциональный CopyDllsToThirdParty ($dll_files) {

$targetfolder = "./третье лицо /"

foreach($dll in $dll_files)
{
    copy-item $dll.FullName -destination "$targetfolder" -force #-Verbose
}

}

$dll_output_folder = "/bin/debug";

foreach ($folder в $folders) {$dll_files = Добираются-ChildItem - $folder$dll_output_folder Пути - включают *.dll - Рекурсивно вызывают | имя объекта вида CopyDllsToWebBin ($dll_files), $dll_files = Добираются-ChildItem - $folder$dll_output_folder Пути - включают *.pdb - Рекурсивно вызывают | имя объекта вида CopyDllsToWebBin ($dll_files), $dll_files = Добираются-ChildItem - $folder$dll_output_folder Пути - включают *.xml - Рекурсивно вызывают | имя объекта вида CopyDllsToWebBin ($dll_files) "Скопированный $folder$dll_output_folder"

}

, $dll_files = Добираются-ChildItem - Путь "Третье лицо" - включает *.dll - Рекурсивно вызывают | имя объекта вида CopyDllsToWebBin ($dll_files), $dll_files = Добираются-ChildItem - Путь "Третье лицо" - включает *.pdb - Рекурсивно вызывают | имя объекта вида CopyDllsToWebBin ($dll_files), $dll_files = Добираются-ChildItem - $folder$dll_output_folder Пути - включают *.xml - Рекурсивно вызывают | имя объекта вида CopyDllsToWebBin ($dll_files)

"Скопированный ThirdParty"

дата

0
ответ дан Atilla Ozgur 11 November 2008 в 08:44
поделиться

Проекты «Веб-сайт» в Visual Studio - странная вещь. Они кажутся попыткой обслужить традиционных веб-разработчиков, где «сайт» - это просто набор файлов в каталоге. Точно так же, когда вы создаете проект «Веб-сайт» в Visual Studio, реального файла «проекта» не существует, как в проектах C # есть файл .csproj. Однако есть еще файл решения (.sln). Обычно ссылки на сборку .dll сохраняются в файле проекта. Поскольку у веб-сайта его нет, куда они деваются?

Ссылки на другие проекты

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

Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "WebSite1", "..\..\WebSites\WebSite1\", "{F25DB9D6-810D-4C18-ACBB-BFC420D33B20}"
ProjectSection(WebsiteProperties) = preProject
TargetFramework = "3.5"
ProjectReferences = "{11666201-E9E8-4F5A-A7AB-93D90F3AD9DC}|ClassLibrary1.dll;"

Ссылки на файловую систему

Если вы просмотрите файловую систему и добавите файл .dll, Visual Studio создаст файл «.refresh» с тем же именем в папке \ Bin. Этот файл представляет собой всего лишь однострочный текстовый файл, который указывает путь, с которого файл был загружен. Так, например, если бы я добавил «MyAssem.dll» из .... \ libs, а затем в папку Web Site \ Bin, я бы скопировал туда 2 файла: MyAssem.dll и MyAssem.dll.refresh. Файл .refresh будет содержать текст: «.... \ libs». При каждой сборке Visual Studio будет проверять путь в файле .refresh, и если там существует более новая .dll, она перезапишет тот, что находится в каталоге Bin.

Предупреждение: Visual Studio НЕ выдаст ошибку, если файл не существует там, где файл .refresh указывает ему поиск. Он просто продолжит использовать .dll, уже находящуюся в папке \ Bin. Однако будет выведено предупреждение.

Ссылки GAC

Если вы добавите сборку из глобального кэша сборок, Visual Studio внесет ее в файл Web.config, например:

 <
 <сборки>
 

Опять же, вы должны обратить внимание на то, что Visual Studio предполагает, что если сборка находилась в GAC на вашем компьютере разработки, то она будет в том же месте во время выполнения! Это может вызвать у вас проблемы, если на вашем компьютере разработчика установлен Oracle.DataAccess , который поместит его в GAC, но при развертывании вы просто копируете .dll на место на рабочем компьютере. . Он по-прежнему будет пытаться найти его в GAC и может потерпеть неудачу во время выполнения.

Я надеюсь, что это поможет прояснить странности на веб-сайтах и ​​понять, как работают ссылки!

16
ответ дан 1 December 2019 в 19:41
поделиться
Другие вопросы по тегам:

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