У меня есть проект ASP.NET, который использует IIS. Сайт IIS настроен на использование имени узла настраиваемой привязки. Файл проекта содержит следующие настройки:
...
<UseIISExpress>false</UseIISExpress>
...
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>False</AutoAssignPort>
<DevelopmentServerPort>8662</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://custom.host.name/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl></CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
...
Когда проект настроен таким образом, я могу получить доступ к сайту, http://custom.host.name/
а VS автоматически подключается к рабочему процессу IIS при отладке.
Когда я перезагружаю проект (либо путем закрытия / повторного открытия решения, либо путем выгрузки / перезагрузки в контекстном меню проекта) происходит что-то неожиданное. Проект не загружается, (load failed)
отображается справа от имени проекта в обозревателе решений, а в окне сообщения отображается следующее сообщение (оно также отображается в окне вывода):
The URL 'http://custom.host.name/' for Web project 'Some.Asp.Net.Project'
is configured to use IIS Express as the web server but the URL is currently
configured on the local IIS web server. To open this project, you must use
IIS Manager to remove the bindings using this URL from the local IIS web server.
Я попытался удалить конфигурацию сайта проекта из applicationhost.config
файла IIS Express , но это не помогло.
Я не сталкиваюсь с этой проблемой при сопоставлении проекта с приложением IIS на сайте по умолчанию.
Версия VS - Ultimate 2012 Update 3.
источник
UseIISExpress
значение false. stackoverflow.com/a/19103452/138938<UseIIS>True</UseIIS>
на<UseIIS>False</UseIIS>
тоже помогала мне. Спасибо за предложение!Ответы:
Открытие в качестве администратора не решило для меня проблему. Что установил ее для меня было открытие , как
.csproj
и.csproj.user
файлы и обеспечения того , чтобы обаUseIISExpress
установленfalse
.В моем случае
.csproj.user
файл заменял.csproj
файл, хотяSaveServerSettingsInUserFile
был отмеченfalse
.<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <UseIISExpress>false</UseIISExpress> <!-- ... --> </Project>
источник
Решение: удалить
*.csproj.user
файл!источник
*.csproj.user
редактировать*.csproj
Я установил для SaveServerSettingsInUserFile значение True, и у меня это сработало.
<ProjectExtensions> <VisualStudio> <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}"> <WebProjectProperties> <UseIIS>True</UseIIS> <AutoAssignPort>True</AutoAssignPort> <DevelopmentServerPort>50584</DevelopmentServerPort> <DevelopmentServerVPath>/</DevelopmentServerVPath> <IISUrl>http://localhost:50584/</IISUrl> <NTLMAuthentication>False</NTLMAuthentication> <UseCustomServer>False</UseCustomServer> <CustomServerUrl> </CustomServerUrl> <SaveServerSettingsInUserFile>True</SaveServerSettingsInUserFile> </WebProjectProperties> </FlavorProperties> </VisualStudio>
Источник: нажмите здесь
источник
когда вы используете разрешить использование для IISexpress, applicationHost.Config (находится в% userprofile% \ iisexpress \ config), вы должны установить флажок «Применить настройки сервера ко всем пользователям (сохранить в файле проекта)», чтобы избежать записи ваших настроек в yourProject.csproj.user
это то же самое, что редактировать файл project.csproj и писать.
<WebProjectProperties> <UseIIS>True</UseIIS> <AutoAssignPort>True</AutoAssignPort> <DevelopmentServerPort>62242</DevelopmentServerPort> <DevelopmentServerVPath>/</DevelopmentServerVPath> <IISUrl>http://localhost:8100/Claims/</IISUrl> <OverrideIISAppRootUrl>True</OverrideIISAppRootUrl> <IISAppRootUrl>http://localhost:8100/Claims/</IISAppRootUrl> <NTLMAuthentication>False</NTLMAuthentication> <UseCustomServer>False</UseCustomServer> <CustomServerUrl></CustomServerUrl> <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile> </WebProjectProperties>
Если вы включили IISExpress и ваш файл applicationHost.config не содержит записи, связанной с настройками вашего проекта, вам просто нужно нажать кнопку «Создать виртуальный каталог» и готово !надеюсь это поможет
источник
В моем случае удаление файла * .csproj.user работало нормально
источник
У меня была такая же проблема, для меня все, что мне нужно было сделать, это открыть визуальную студию в качестве администратора, и это решило проблему для меня.
так просто щелкните правой кнопкой мыши Visual Studio 2012 и выберите «Запуск от имени администратора». надеюсь это поможет
источник
Для меня комбинация обоих работала для Visual Studio 2015 Preview с 64-разрядной
версией Windows 7: 1. удалить файл * .csproj.user и
2.
<UseIISExpress>false</UseIISExpress>
в файле решения.Шаги для шага 2: в Visual Studio щелкните правой кнопкой мыши Project ==> Unload ===> Edit the Solution
источник
Достаточно
Прокомментируйте эту строку в файле проекта x.csproj
<!--<UseIIS>True</UseIIS>-->
x.csproj: error: URL-адрес http: // localhost / x для веб-проекта «x» настроен на использование IIS Express в качестве веб-сервера, но URL-адрес в настоящее время настроен на локальном веб-сервере IIS. Чтобы открыть этот проект, необходимо использовать диспетчер IIS, чтобы удалить привязки с помощью этого URL-адреса с локального веб-сервера IIS.
источник
Я приземлился здесь, когда проект, настроенный для использования IIS, не загружался, потому что он не мог найти веб-сайт (myproject.mycompany.local), хотя веб-сайт нормально загружался в моем веб-браузере.
Решением было убедиться, что для привязки сайта в IIS 7 для имени хоста задано значение «myproject.mycompany.local». Чтобы перейти к привязкам вашего сайта:
Если ваш сайт также не загружается в веб-браузере, вероятно, это связано с тем, что у вас нет записи для него в вашем файле hosts:
127.0.0.1 myproject.mycompany.local
источник
Если ваш проект является частью решения, откройте файл решения (.sln) и отредактируйте раздел проекта.
ProjectSection(WebsiteProperties) = preProject UseIISExpress = "false"
Это сработало для меня.
источник
Эта проблема испортила мне день в VS 2013 сегодня. Я пробовал все вышеперечисленное, но не загружал проект, пока не создал веб-сайт в IIS и не заполнил этот раздел в файле .csproj (особенно элемент IISUrl):
<ProjectExtensions> <VisualStudio> <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}"> <WebProjectProperties> <UseIIS>True</UseIIS> <AutoAssignPort>True</AutoAssignPort> <DevelopmentServerPort>81</DevelopmentServerPort> <DevelopmentServerVPath>/</DevelopmentServerVPath> <IISUrl>http://localhost/SomeProject</IISUrl> <NTLMAuthentication>False</NTLMAuthentication> <UseCustomServer>False</UseCustomServer> <CustomServerUrl> </CustomServerUrl> <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile> </WebProjectProperties> </FlavorProperties> </VisualStudio>
источник
У меня была такая же проблема, работа с правами администратора у меня не работала.
Установка значения
<UseIIS>True</UseIIS>
false в файле проекта ".csproj" временно могла загружать проект, но значение возвращалось к True после перезапуска или закрытия решения.Завершив ответ @Cyrus (который сработал для меня) для более аккуратного ответа, я сосредоточился больше на файле проекта csproj.user и нашел точный источник проблемы: установил
<UseIISExpress>true</UseIISExpress>
значение false, а затем перезагрузил проект. работает нормально, без удаления файла csproj.user. результат такой:<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <ProjectView>ProjectFiles</ProjectView> <UseIISExpress>false</UseIISExpress> <IISExpressSSLPort /> <IISExpressAnonymousAuthentication /> <IISExpressWindowsAuthentication /> <IISExpressUseClassicPipelineMode /> <NameOfLastUsedPublishProfile>My Project's Name</NameOfLastUsedPublishProfile> </PropertyGroup>
источник