devenv VS aspnet_compiler - PullRequest
       16

devenv VS aspnet_compiler

1 голос
/ 15 ноября 2010

Если я использую aspnet_compiler для публикации веб-сайта ASP.NET MVC, выполняет ли он те же задачи, что и devenv ? Или это просто предварительная компиляция, чтобы минимизировать задержку запуска?

т.е. мое требование - иметь возможность компилировать и публиковать веб-сайт ASP.NET. в этом случае, следует ли мне сначала использовать devenv для создания веб-сайта, а затем использовать aspnet_compiler для предварительной компиляции и копирования файлов (Publish)?

Или, если я просто использую aspnet_compiler, это также сделает сборку (компиляцию) исходного и ссылочного проектов для освобождения библиотек?

Ваши ответы очень ценятся. Большое спасибо.

Ответы [ 2 ]

1 голос
/ 03 августа 2016

Давайте начнем с короткого ответа - aspnet_compiler.exe не имеет отношения к ASP.NET MVC.

Проекты MVC компилируются либо devenv.exe или msbuild.exe, либо чем-то еще (Рослин, кто-нибудь?). Но эти 2 предоставляются с установкой VS.

aspnet_compiler используется [в смысле компиляции] для компиляции проектов WSP - веб-сайтов. В WSP каждый код позади скомпилирован в отдельную DLL. Но проекты MVC компилируются в одну DLL, как WAP-проект веб-приложения.

Я сомневаюсь, что у вас есть WSP и MVC, и даже если у вас есть один - все же, лучше компилировать, используя devenv, потому что devenv компилирует ashx файлы, а aspnet_compiler - нет. Это может привести к сбоям во время выполнения.

Чтобы понять проблему лучше изучить

проекты веб-сайтов против проекта веб-приложений

Хотя, я думаю, что VS15 WSP ушла

0 голосов
/ 15 ноября 2010

Я не знаю, есть ли такая вещь, как aspnet_compiler.Взгляните на часть файла проекта «Visual C # -> ASP.NET Web Application»:

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.\WebApplications\Microsoft.WebApplication.targets" />

Первая строка - стандартная цель C #.Во-вторых, интереснее, так как он специфичен для ASP.NET.Если вы посмотрите на его содержание, вы найдете определение цели Publish , и это, вероятно, то, что вы ищете.

Для создания и публикации вашего проекта вы можете использовать (или даже просто Опубликовать, если есть предопределенные зависимости, я не проверял это)

msbuild /t:Build,Publish <project file>
...