1.介绍
使用VS创建项目时,我们可能会遇到以下问题:

①同一个解决方案包含多个项目,其中一些项目会相互依赖。生成一键解决方案时,无法预测每个项目的生成顺序,导致生成一键解决方案时出错。
②如果参考一些第三方的dll库,这些dll库应该放在解决方案的哪个目录下?
③以后发布的时候,可以只复制压缩发布文件夹吗?
带着这样的疑问,我写下自己的经历。
2.本地目录
上图是我平时经常用的目录结构。一般在开始一个项目之前,我会先创建上图中的几个目录。每个目录的内容是:
Docs:存储与项目相关的开发文档等。上传到Git或SVN托管平台时,我一般会选择忽略这个文件夹,不上传。Public:存储所有相关的库、生成的文件、资源文件等。这个项目。使用打包工具打包时,可以直接打包目录。上传到托管平台时,包可以上传也可以不上传,因为它有dll或exe格式的文件。Slns:存储由不同版本的VS工具创建的解决方案文件。上传到托管平台时,需要上传。Srcs:顾名思义,存储的是源代码文件。上传到托管平台时,需要上传。测试:存储我通常测试某个功能的演示项目。3.工程演示
在第2节中创建了目录之后,我开始了一些演示。在这里,我假设我有以下需求:开源一个名为MicroUI的WPF自定义控件项目,最后输出一个文件给用户:MicroUI.Wpf.Toolkit.dll。接下来,我将创建一个项目。
3.1创建解决方案
打开,这里我用的是VS2013,。NET4.5。
点击箭头指示的新项目,也可以通过VS菜单栏“文件”“新建”“项目”来创建。
如上图所示,新创建的项目是MicroUI。Wpf.Samples,位置是[根目录]MicroUISrcs。因为它是一个新的解决方案,所以名称与我们创建的第一个项目的名称相同。填写完信息后,点击“确定”按钮。
从上面的箭头可以看出,创建的解决方案的名称是“MicroUI”。Wpf”,此解决方案中有一个项目。同时,您可以在本地目录中看到解决方案的文件,如下面的括号所示:
有两个文档具有以下含义:
。sln文件:通过向环境提供对项目、项目项和解决方案项在磁盘上的位置的引用,您可以将它们组织到解决方案中。比如是生成调试模式、发布模式、通用CPU还是专用CPU等。
。suo文件:解决方案用户选项记录了将与解决方案关联的所有选项,因此每次打开它时,它都包含您所做的自定义设置。比如VS布局,项目结束时编译但没有关闭的文件。
关于这两个文件,网上有更详细的解释,不做过多解释。
3.2自定义解决方案位置和名称
首先,鼠标选择下图中箭头所示的零件:
然后在菜单栏中,选择“文件”[您的解决方案名称]。sln另存为..."
在弹出的另存为对话框中,选择路径“MicroUISlnsVS2013”
将文件名设置为“MicroUI”。Wpf.sln ",然后点击"保存"按钮。
您可以从箭头中看到解决方案的名称已经更改,并且可以在SlnsVS2013目录中看到两个新生成的解决方案。
接下来,我们只需删除文件夹micro ui srcs micro ui . wpf . samples 下的解决方案的两个文件。
删除后
3.3创建自定义用户控件库
接下来,我将创建一个自定义控件库。
用鼠标选择解决方案,点击右键,选择“添加”“新建项目”。
如上图,按箭头顺序选择。需要注意的是,这里选择的是“WPF自定义控件库”,而不是“WPF用户控件库”。两者还是有区别的。最后,点击“确定”按钮。
您可以看到自定义控件库已经添加到项目中。接下来,我们需要配置运行平台。
3.4配置解决方案平台
接下来,我们需要配置这两个项目的平台,比如x86或者x64。
用鼠标选择解决方案,右键单击并选择“配置管理器”
您可以从下图中看到该解决方案的默认配置。
让我修改配置,以便调试和发布都支持x86平台。如下图所示
配置完成后,单击关闭按钮。
如您所见,该解决方案目前是在发布模式下开发的。
3.5自定义项目生成文件路径

接下来,我们把这两个项目生成的文件放在同一个目录下,也就是我第一次创建的Public目录。
选择并右键单击“MicroUI”。Wpf.Samples”并选择“属性”,显示项目的属性界面如下:
在属性页上,选择“生成”列并找到输出路径。
将输出路径设置为".....公共 ",其中的数量..取决于项目的位置。
Ctrl+S保存,可以看到Public目录下已经有一些文件了。
同理,设置MicroUI的输出目录。面向公众的Wpf.Toolkit项目:
Ctrl+S保存。
另请注意:如果我们将解决方案的发布模式更改为调试模式,请记住再次设置一些输出目录。这样做的原因是可以理解的,因为我们的发布模式和调试模式产生的文件是不同的。如果您已经为发布模式和调试模式设置了输出路径,那么下次在这两种模式之间切换时,您不需要重新配置它们。当然,如果加上x64平台,就需要重新配置。
至于这些配置的参数是否存储在。sln文件,。索文件或项目工程文件。csproj,你可以自己验证。
3.6添加项目相关性
让我们用鼠标选择解决方案,单击右键,然后单击“生成解决方案”
在公共目录中,您可以看到以下文件
其中包括:
带有后缀的文件。pdb是流程调试文件,发布后都可以删除。带有后缀的文件。vshost.exe.*是visual studio的宿主应用程序,vs运行调试时打开的其实就是这个文件。这个程序允许vs跟踪调试信息,发布时可以删除。MicroUI。Wpf.Samples.exe.config是应用程序配置文件。如果程序中不使用本地配置文件,也可以完全删除。它是由MicroUI.Wpf.Samples.exe项目生成的可执行文件,不能删除。MicroUI.Wpf.Tookit.dll是由项目生成的动态链接库文件。如果此动态链接库文件在发布的可执行文件中被引用,则不能删除。如果有项目没有被引用,可以删除。接下来,我们让微UI。Wpf.Samples项目是指MicroUI.Wpf.Tookit.dll。
在VS项目中,展开MicroUI。Wpf.Samples,单击项目的引用,右击并选择“添加引用”。
在弹出的如下对话框中,点击箭头所示的“浏览”按钮。
找到并选择MicroUI.Wpf.Toolkit.dll,然后点击“添加”按钮。
此时,您可以看到MicroUI.Wpf.Toolkit.dll已经在引用管理器中被检入。
我们可以点击“确定”按钮。
您可以在引用中看到该文件已被添加。
3.7设置项目生成顺序
在3.6之后,我们单击解决方案并选择“重新生成解决方案”。
从解决方案输出页面可以看到,生成项目的顺序是先生变成MicroUI。Wpf.Samples,然后生成MicroUI。Wpf.Tookit
默认情况下,当VS生成解决方案时,它看起来是这样的。
按上下顺序生成。
实际上,VS为我们提供了一种生成依赖关系顺序的方法。
右击该解决方案并选择项目生成顺序。
我们选择“依赖项”选项卡。
如下图所示,选择项目MicroUI。Wpf.Samples,检查MicroUI。Wpf.Toolkit,然后单击确定。
您可以再次打开窗口,您可以看到项目生成的顺序已经改变。
再次重建解决方案
你可以看到它,没有任何警告。
3.8如何引用自定义控件
我们已经设置了微界面。Wpf.Samples项目引用自定义控件库,然后简要演示如何在项目中引用该控件。首先,在要引用的窗口或用户控件中添加名称空:
xmlns:dazhuang = " clr-namespace:MicroUI。Wpf .工具包;assembly=MicroUI。Wpf .工具包"
如下图
其中大庄是随便起的名字。然后放置CustomControl1控件:
运行它以查看控件。

3.9摘要
到目前为止,我们基本上掌握了以下几点:
VS创建多项目解决方案,设置项目生成顺序,更改项目文件输出路径,创建自定义控件库,扩展引用。其他动态链接库的创建和引用方式与自定义控件库相同。
4.代码下载
微信官方账号后台关键词回复“WPF实用教程源代码”


