Можно ли развернуть зависимый от System.Web проект dnx451 в Azure?
Я использую веб-приложение asp.net 5 и MVC 6 и библиотеку классов с веб-службой (WSDL). Я могу нормально запустить приложение на IIS Express. Я был в состоянии использовать localdb, а также Azure DB. Однако, когда я пытаюсь развернуть приложение в Azure, я получаю ошибку project.lock.json, но у меня возникает ощущение, что проблема не в этом.
Вот шаги, которые я сейчас предпринимаю в Visual Studio 2015:
- Создайте новое веб-приложение.Net5.
- Добавьте в проект новый проект библиотеки классов.net4.5.
- Добавьте ссылки System.Web и веб-службы в библиотеку классов.
- Добавьте библиотеку классов в качестве ссылки на веб-приложение.Net5.
- Опубликуйте веб-приложение.Net5 в веб-приложениях Azure.
project.json
{
"webroot": "wwwroot",
"userSecretsId": "aspnet5-test-2a8ca243-1965-45cb-b8f8-0e8684188d3e",
"version": "1.0.0-*",
"dependencies": {
"EntityFramework.Commands": "7.0.0-beta7",
"EntityFramework.SqlServer": "7.0.0-beta7",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta7",
"Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta7",
"Microsoft.AspNet.Authentication.Google": "1.0.0-beta7",
"Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta7",
"Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta7",
"Microsoft.AspNet.Diagnostics": "1.0.0-beta7",
"Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta7",
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta7",
"Microsoft.AspNet.Mvc": "6.0.0-beta7",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta7",
"Microsoft.AspNet.Server.IIS": "1.0.0-beta7",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta7",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta7",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-beta7",
"Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta7",
"Microsoft.Framework.Configuration.Json": "1.0.0-beta7",
"Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta7",
"Microsoft.Framework.Logging": "1.0.0-beta7",
"Microsoft.Framework.Logging.Console": "1.0.0-beta7",
"Microsoft.Framework.Logging.Debug" : "1.0.0-beta7",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta7"
},
"commands": {
"web": "Microsoft.AspNet.Hosting --config hosting.ini",
"ef": "EntityFramework.Commands"
},
"frameworks": {
"dnx451": {
"dependencies": {
"MyTestService": "1.0.0-*"
},
"frameworkAssemblies": {
"System.Web.Services": "4.0.0.0"
}
}
},
"exclude": [
"wwwroot",
"node_modules",
"bower_components"
],
"publishExclude": [
"node_modules",
"bower_components",
"**.xproj",
"**.user",
"**.vspscc"
],
"scripts": {
"prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
}
}
Несколько вещей, на которые стоит обратить внимание, я фактически удалил инъекцию dnx50 из файла project.json. Это потому, что я получил ошибки компиляции из-за того, что dnx50 не смог нацелиться на system.web (потому что system.web в настоящее время не является частью.net5) при сборке. Другое дело, что project.lock.json корректно обновляется и добавляет зависимости system.web и MyTestService в нескольких местах.
Проект прекрасно справится с зависимостями с помощью gulp и bower. Затем я получаю это сообщение в окне вывода, и сборка завершается неудачно:
Copying to output path
C:\Users\Me\AppData\Local\Temp\PublishTemp\TestProject113
C:\TestInstalls\TestProject113\wrap\MyTestService\project.lock.json(1,0):
Error : The expected lock file doesn't exist.
Please run "dnu restore" to generate a new lock file.
Я запускаю восстановление dnu, и восстановление завершается успешно. Однако, когда я пытаюсь опубликовать его снова, я получаю ту же ошибку.