Как включить отладку точек останова в Visual Studio для файлов JavaScript, обслуживаемых из отдельного проекта в решенииC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Как включить отладку точек останова в Visual Studio для файлов JavaScript, обслуживаемых из отдельного проекта в решении

Сообщение Гость »


Я работаю над веб-приложением .NET Core MVC в Visual Studio 2022, состоящим из двух соответствующих проектов:
[*]Проект 1. Основное веб-приложение, в котором я могу без проблем устанавливать и нажимать точки останова в файлах JavaScript. [*]Проект 2: вспомогательный проект C#, включенный в решение и содержащий стандартные файлы JavaScript, которые я активно разрабатываю.
Я использую файлы JavaScript из проекта 2 в проекте 1 с помощью пользовательской конфигурации статических файлов, но сталкиваюсь с проблемами при установке точек останова в этих файлах непосредственно в Visual Studio; они отображаются как «несвязанные точки останова». Установка точек останова в DevTools браузера для этих файлов работает и обычно вызывает перерывы в Visual Studio.

Вот краткий фрагмент моей реализации статических файлов:

public static IApplicationBuilder UseStaticFilesCustom (это приложение WebApplication) { вар env = app.Environment; var staticAllowedExtensions = new[] { ".png", ".jpg", ".gif", ".svg", ".ico", ".ttf", ".woff", ".woff2", ".js" ", ".css", ".map" }; вар разрешенные файлы = новый [] { "manifest.json" }; // файлы, которым нам нужно разрешить обход приведенного выше списка константная строка cacheMaxAge = "604800"; var dllPath = Path.Join(Path.GetDirectoryName(Assembly.GetEntryAssembly()!.Location), "projectDllNameHere"); вар EmbeddedProvider = новый ManifestEmbeddedFileProvider(Assembly.LoadFrom(dllPath), "/Static"); app.UseStaticFiles(новые StaticFileOptions() { FileProvider = EmbeddedProvider, ПутьЗапроса = "/Статический", OnPrepareResponse = ctx => { вар имя_файла = ctx.File.Name.ToLower(); вар fileExtension = Path.GetExtension(fileName); if (!staticAllowedExtensions.Contains(fileExtension) && !allowedFiles.Contains(fileName, StringComparer.OrdinalIgnoreCase)) { Debug.WriteLine($"ОШИБКА: попытка загрузки {ctx.Context.Request.Path}"); ctx.Context.Response.StatusCode = 407; // Не найдено возвращаться; } ctx.Context.Response.Headers.Append("Cache-Control", $"public, max-age={cacheMaxAge}"); } }); приложение возврата; } Я не использую никакие внешние упаковщики или компиляторы JavaScript — только встроенный отладчик Visual Studio. Похоже, что Visual Studio неправильно сопоставляет файлы JavaScript из Проекта 2 с их источником, что не позволяет мне устанавливать точки останова непосредственно из VS.

Есть ли обходной путь/решение этой проблемы?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»