示例项目结构
在 Visual Studio 中创建一个 WinForms 应用步调后,项目结构如下所示:- MyWinFormsApp/
- │
- ├───Properties/
- │ └───Settings.settings
- │
- ├───bin/
- │ ├───Debug/
- │ └───Release/
- │
- ├───obj/
- │ ├───Debug/
- │ └───Release/
- │
- ├───Form1.cs
- ├───Form1.Designer.cs
- ├───Form1.resx
- ├───Program.cs
- ├───App.config
- └───MyWinFormsApp.csproj
复制代码
- Properties/ 目次包罗应用步调的设置文件。
- bin/ 和 obj/ 目次包罗构建输出和中心文件。
- Form1.cs 是窗体的主要代码文件。
- Form1.Designer.cs 是自动生成的窗体设计器代码。
- Form1.resx 是窗体的资源文件。
- Program.cs 是应用步调的入口点,包罗 Main 方法。
- App.config 是应用步调的配置文件。
- MyWinFormsApp.csproj 是项目标工程文件,包罗项目标全部配置信息。
Properties目次
Properties 目次是应用步调配置和资源文件的存储位置。通常由 Visual Studio 自动管理,包罗以下关键文件和子目次:
- AssemblyInfo.cs:
- 包罗步调集的元数据,如版本号、版权信息、步调集特性等。
- 编译时嵌入到步调集中。
- Resources.resx:
- 存储应用步调的非编码资源,如图像、图标、字符串等。
- 通过强类型属性在代码中访问,便于资源管理。
- Settings.settings:
- 存储应用步调的设置,如数据库毗连字符串、用户偏好设置等。
- 运行时通过 Properties.Settings 类访问和修改。
- Resources 子目次:
- 存放应用步调的资源文件,如图像、音频等。
- 通过 Resources.resx 文件管理。
bin和obj目次
bin 目次
bin 目次是二进制目次,用于存放编译后的步调集(.dll 或 .exe 文件)。
- Debug:存放调试版本的输出文件。这些文件包罗了调试信息,使得开发者可以在调试器中检查代码的执行情况。
- Release:存放发布版本的输出文件。这些文件不包罗调试信息,通常进行了优化,以提高应用步调的性能。
在 bin 目次中,你还可以找到其他与编译相关的文件,如:
- pdb 文件:步调数据库文件,包罗了调试信息,如变量名、类型信息和代码行号等。
- config 文件:应用步调配置文件,如 app.config 或 web.config。
- xml 文件:有时编译器会生成 XML 文档文件,包罗了代码的注释和文档信息。
obj 目次
obj 目次是对象目次,用于存放编译过程中的中心文件。
- Debug 和 Release:与 bin 目次雷同,obj 目次也会根据构建配置生成 Debug 和 Release 子目次。
在 obj 目次中,你可能会找到以下类型的文件:
- csproj.FileListAbsolute.txt:列出了项目中全部文件的绝对路径。
- *.csproj.GenerateResource.cache:资源生成器的缓存文件。
- *.csproj.AssemblyReference.cache:步调集引用的缓存文件。
- *.csproj.CopyComplete:复制操纵完成的标志文件。
- *.csproj.CoreCompileInputs.cache:编译输入的缓存文件。
obj 目次中的文件通常在构建过程中被自动清算和重新生成。这个目次对于开发者来说通常是不可见的,因为它主要用于构建体系内部处理。
总结
- bin 目次:
- 存放最终编译输出,包括可执行文件和库文件。
- 包罗 Debug 和 Release 子目次,分别用于调试和发布版本。
- obj 目次:
这两个目次由体系自动管理,开发者通常无需手动干预。发布应用时,只需关注 bin 目次中的 Release 子目次,确保其中的文件是最终用户使用的版本。
App.config
用于存储应用步调的设置和毗连字符串等信息。允许开发者在不修改代码的情况下更改应用步调举动,例如:
- 更改数据库毗连字符串。
- 设置日记级别。
- 界说应用步调特定举动。
App.config文件结构
- <?xml version="1.0" encoding="utf-8" ?>
- <configuration>
- <startup>
- <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
- </startup>
- <connectionStrings>
-
- </connectionStrings>
- <appSettings>
-
- </appSettings>
-
- </configuration>
复制代码
- :根元素,包罗全部配置节。
- :指定应用步调支持的 .NET 运行时版本。
- :用于存储数据库毗连字符串和其他毗连信息。
- :用于存储应用步调的自界说设置,如路径、默认值等。
使用 App.config文件
使用 ConfigurationManager 类来读取和写入 App.config 文件中的设置。以下是一些常见的操纵示例:
读取毗连字符串
- string connectionString = ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString;
复制代码 读取应用步调设置
- string mySetting = ConfigurationManager.AppSettings["MySetting"];
复制代码 写入应用步调设置(仅限 .NET Framework)
- Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
- config.AppSettings.Settings["MySetting"].Value = "New Value";
- config.Save();
- ConfigurationManager.RefreshSection("appSettings");
复制代码 留意事项
- .NET Core 和 .NET 5+:
- 使用 appsettings.json 和 appsettings.{Environment}.json 文件存储配置信息,替代 App.config。
- .NET Framework:
- App.config 编译时重命名为 .config,如 MyApp.exe.config。
- 代码中使用 ConfigurationManager 需添加 System.Configuration 步调集引用。
App.config 是管理应用步调配置的重要工具,使配置信息与代码分离,便于维护和修改。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |