2013-04-07 3 views
1

У меня есть приложение asp.net 4.0 webforms. Это веб-сайт, а не проект, поэтому он не предварительно скомпилирован перед развертыванием.Asp.net webforms C# file compile

Я внес изменения в один файл с кодом (C# файл), и мне нужно загрузить его на сайт. Если я загружу только этот единственный файл, он будет скомпилирован на веб-сайте? Или мне нужно загрузить другие файлы, чтобы вызвать компиляцию? Например, нужно ли загружать передний файл .aspx вместе с ним?

Я спрашиваю об этом, потому что изменение, которое я сделал, работает на моей машине dev, но не работает на производственном сервере. Я подозреваю, что, возможно, файл C#, который был загружен, не был скомпилирован на веб-сервере, поэтому на веб-сайте все еще запущен старый файл C#.

У кого-нибудь есть мысли по этому поводу? Заранее спасибо.

EDIT: Я должен указать, что это проект сайта , а не проект веб-приложения.

+0

Если вы используете проект веб-сайта, который не был предварительно скомпилирован, вы сможете обновить его на http://msdn.microsoft.com/en-us/library/dd547590.aspx#compilation. Вы пробовали переработать сайт? (используйте суждение, поскольку это убьет любые сеансы, возможно, кеш и т. д.) – Scott

ответ

0

Позвольте пояснить это. Вы внесли изменения на странице ASP.NET из кода. Теперь вы хотите загрузить эти новые изменения на сервер. Это верно?

Хорошо, вы просто загружаете обновленную страницу .ASPX (и, конечно, файл с кодом) автоматически на сервер и заменяете старую страницу .ASPX. Изменения на этой странице должны появиться сейчас. Это не имеет никакого отношения, если вы предварительно компилируете или не используете свой веб-сайт.

0

Вам не нужно его компилировать повторно. Ваше веб-приложение должно быть обновлено после того, как вы загрузите новый файл. Скорее всего проблема с кешем. Попробуйте использовать другой браузер или очистите кеш текущего браузера.

+0

Извините, я сделал редактирование для OP. Это проект веб-сайта, а не проект веб-приложения. Проекты веб-сайта развертываются и компилируются на веб-сервере динамически, когда они запускаются в первый раз. Моя проблема заключается в том, как один код закомпилировать файл после его загрузки позднее. Нужно ли что-то вызвать? Не уверен, что это имеет значение в вашем ответе. – nanonerd

+0

@nanonerd Recompile будет запущен на основе изменения в измененной дате файла. –

0

Когда вы загружаете новые файлы CS в проект веб-сайта на производственном сервере, он должен динамически их перекомпилировать, чтобы изменения были подобраны. Есть ли вероятность, что его на ферме и на всех серверах не обновили?

+0

Это на амазонке (AWS). hrmmm ... спасибо за ответы ... – nanonerd

+0

это случается иногда в фермах серверов - один сервер обновляется, а другой нет. – dekdev

+0

Вы работаете в IIS в облаке или Linux/моно? – Scott

0

У меня есть ответ. И я извиняюсь, так как его, вероятно, даже не спрашивали. Х. Хавьер правильно выше, как я узнал сегодня утром (прежде чем увидеть его ответ).

Извините, выяснилось, что мой коллега загружался в неправильный каталог на веб-сервере ... и я не мог видеть, что происходит ... это долгая история, но я работал удаленно и не работал, t иметь прямой доступ к веб-серверу самостоятельно.

Но эй, кому любопытно, я просто загрузил файл с кодом (myFile.aspx.cs), и движок asp.net сделал свою магию, и это сработало. Поэтому не нужно загружать другие файлы (например, myFile.aspx на конец раздела или файл web.config), чтобы заставить компиляцию. Это происходит автоматически.

спасибо.