Я пытаюсь разработать утилиту, которая позволит настраивать строки после развертывания нашего продукта. Спутниковые сборки, похоже, являются хорошим способом пойти сюда. У меня есть большой опыт использования Microsoft.VisualBasic.VBCodeProvider
и Microsoft.CSharp.CSharpCodeProvider
как часть процесса, где код может быть скомпилирован и загружен во время выполнения. Однако спутниковые сборки, похоже, не связаны с полным процессом компиляции. Когда я просматриваю веб-сайт для получения информации о создании спутниковых сборок, кажется, что вам нужно пропустить этап компиляции кода и просто использовать шаг ссылки (AL.exe
), чтобы связать скомпилированный файл .resources
в спутниковой DLL.Настройка ресурсов после развертывания
я получил, насколько генерации скомпилированных .resources
файлов с помощью System.Resources.ResourceWriter
, но сейчас я ищу элегантный способ для вызова функции в AL.exe
, который будет создавать DLL из этого. Конечно, я мог бы просто вызвать System.Diagnostics.Process.Start
на AL.EXE
, но это выглядит не очень элегантно, поскольку как .NET Framework имеет встроенные классы для создания файлов .resources
и для компиляции исходного кода VB.NET и C#.
По крайней мере, мне нужен хороший способ получить путь к соответствующему AL.EXE
исполняемому файлу, но желательно, чтобы просто был .NET-класс, способный выполнить привязку.
Hm. Вы решали мою проблему удобно, но не ответили на вопрос в названии. Должен ли я изменить название вопроса? – BlueMonkMN
Возможно. Возможно, что-то вроде «Настроить файл' .resource' после развертывания »? –
Я делаю это из веб-приложения, которое, по крайней мере, в среде отладки, создает некоторые интересные проблемы. Чтобы указать путь к файловому менеджеру ресурсов, я подумал: «Просто заберите каталог, где находится моя DLL, потому что я помещаю все это в одно и то же место», но, оказывается, мои двоичные файлы переходят в '% temp% \ Temporary ASP.NET Files' во время выполнения, но поскольку ресурсы уже не известны как зависимости DLL (так как тогда они были спутниковыми DLL), их не собирают. На данный момент я использую 'Server.MapPath (« bin »)' для поиска ресурсов, но приветствую предложения. – BlueMonkMN