В ASP. NET у нас есть настройки приложения и события до и после сборки приложения. Можно ли получить доступ к настройке из события перед сборкой? Или можно ввести значение параметра из события предварительной сборки?
Полный контекст:
У меня есть приложение Angular, встроенное в ASP. NET 4 Приложение веб-API. То есть мое приложение структурировано следующим образом:
+ Solution
| - Project
| + Properties
| + AngularApp
| | + dist
| | + e2e
| | + src
| | - (etc)
| + App_Start
| + Model
| + Global.asax
| - Web.config
- ProjectTest
У меня есть некоторые правила перезаписи URL, так что любой запрос website.com/x
, который не относится к одному из моих контроллеров, вместо этого будет перенаправлен на website.com/AngularApp/dist/AngularApp/x
. Все, что я описал до сих пор, работает отлично.
Проблема в том, что это приложение не развертывается на root домена; он развертывается в подкаталог домена. (т.е. website.com/app
вместо website.com
). Три разные части моего приложения должны знать, что этот новый подкаталог следует рассматривать как root - приложение Angular должно иметь это значение root, правила перезаписи должны включать это, и некоторые части C# код также должен знать об этом новом root (подробности я сохраню здесь). В настоящее время мне пришлось указать этот подкаталог как в Pre Build Events (которые создают приложение Angular), так и в Web.config (который контролирует мои правила перезаписи) и в Настройках (к которым обращается мой вышеупомянутый C# код). Было бы лучше, если бы у меня была единственная конфигурация, из которой они все брали. Мой вышеупомянутый вопрос, по крайней мере, разрешил бы комбинацию двух из этих трех несопоставимых конфигураций.