C # WinForm App получает значения параметров без файла xyz.exe.config во время выполнения - PullRequest
0 голосов
/ 10 октября 2019

У меня есть приложение .NET Framework 4 WinForm, использующее VisualStudio 2019. Это файл app.config с этими настройками

<connectionStrings>
    <add name="MyWinApp.Properties.Settings.DBConnectionString"
        connectionString="Data Source=MyServer;Initial Catalog=MyDb;Integrated Security=True;"
        providerName="System.Data.SqlClient" />
</connectionStrings>
<applicationSettings>
    <MyWinApp.Properties.Settings>
        <setting name="DefaultName" serializeAs="String">
            <value>Multi</value>
        </setting>
    </MyWinApp.Properties.Settings>
</applicationSettings>

Те же настройки и значения, скопированные в файл MyWinApp.exe.config внутри DEBUG и RELEASEПапки. Проблема в том, что даже если я удаляю разделы «ConnectionString» и «ApplicationSettings» из конфигурационного файла (пробовал отладку / освобождение обеих папок) и запускаю приложение, дважды щелкнув файл MyWinApp.exe, приложение все равно запускается и получает значения для этих свойствдаже они теперь ушли из файла конфигурации. Затем я запустил приложение, удалив файл конфигурации, и приложение все еще получало эти значения, вместо того, чтобы выдавать исключение.

Я открыл EXE-файл в TextPad и обнаружил, что эти значения сохранены в EXE-файле. Таким образом, приложение не выдает ошибку. Если приложение сохраняет информацию о настройках внутри EXE, зачем беспокоиться о конфигурационном файле во время выполнения.

       //Check for database connection in property exists
        String dbConnection;
        try
        {
            dbConnection = Properties.Settings.Default.DBConnectionString;
        }
        catch (Exception ex)
        {
            Success = false;
        }

Я никогда не получаю исключение для вышеприведенного фрагмента кода, который запускается при запуске.

Я видел ошибку при получении, если свойство / настройка не находятся в файле конфигурациираньше, это что-то новое в Visualt Studio 2019?

...