/appconfig (параметры компилятора C#)
Параметр компилятора /appconfig позволяет приложению C# задать расположение файла конфигурации приложения сборки (app.config) в среде CLR во время привязки сборки.
/appconfig:file
Аргументы
- file
Обязательный. Файл конфигурации приложения, содержащий параметры привязки сборки.
Заметки
Параметр /appconfig, в частности, применяется в развернутых сценариях, когда в сборке имеются ссылки на версию .NET Framework и на версию .NET Framework для Silverlight конкретной базовой сборки одновременно. Например, для конструктора XAML, написанного в Windows Presentation Foundation (WPF), может потребоваться ссылаться на оба рабочих стола WPF, для пользовательского интерфейса конструктора и для подмножества WPF, поставляемого с Silverlight. Одна и та же сборка конструктора имеет доступ к обеим сборкам. По умолчанию отдельные ссылки вызывают ошибку компиляции, так как привязка сборки видит две эквивалентные сборки.
Параметр компилятора /appconfig позволяет указать расположение файла app.config, который отключает поведение по умолчанию с помощью тега <supportPortability>, как показано в следующем примере.
<supportPortability PKT="7cec85d7bea7798e" enable="false"/>
Компилятор передает расположение файла в логику с привязкой сборки среды CLR.
Примечание
При построении приложения с помощью Microsoft Build Engine (MSBuild) можно задать параметр компилятора /appconfig, добавив тег свойства в CSPROJ-файл.Чтобы использовать файл app.config, уже заданный в проекте, добавьте тег свойства <UseAppConfigForCompiler> в CSPROJ-файл и задайте для него значение true.Чтобы указать другой файл app.config, добавьте тег свойства <AppConfigForCompiler> и задайте в качестве его значения расположение требуемого файла.
Пример
В следующем примере показан файл app.config, позволяющий приложению иметь ссылки на реализации .NET Framework и .NET Framework для реализации Silverlight любой сборки .NET Framework, существующей в обеих реализациях. Параметр компилятора /appconfig указывает расположение этого файла app.config.
<configuration>
<runtime>
<assemblyBinding>
<supportPortability PKT="7cec85d7bea7798e" enable="false"/>
<supportPortability PKT="31bf3856ad364e35" enable="false"/>
</assemblyBinding>
</runtime>
</configuration>
См. также
Основные понятия
Общие сведения об унификации сборок платформы .NET Framework