Девенв VS aspnet_compiler

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

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

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

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


person Eranga Dissanayaka    schedule 15.11.2010    source источник
comment
Возможный дубликат: stackoverflow.com/questions/1369250 /   -  person Mr Lister    schedule 01.02.2012


Ответы (2)


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

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

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

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

Чтобы лучше понять проблему, исследуйте

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

Хотя, я считаю, что VS15 WSP больше нет

person T.S.    schedule 03.08.2016

Не знаю, есть ли там 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. Если вы посмотрите на его содержание, вы найдете определение цели Опубликовать, и это, вероятно, то, что вы ищете.

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

msbuild /t:Build,Publish <project file>
person StanislawSwierc    schedule 15.11.2010