最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【总结】关于C#中的项目的属性的一些理解和心得

C# crifan 2753浏览 0评论

自己用C#实现过一个Windows Live Writer的插件,是个Dll库。

(对应的简单的教程,可参考:【详细图文教程】如何使用C#给WLW(Windows Live Writer)编写插件

现在就针对该项目的属性部分,说说自己的理解。

 

【Application页面】

project property application

1.Assembly Name

我的这里是crifan.InsertSkydriveFiles

此处,即为最终所生成的dll文件的文件名。

2.Default Namespace

默认的命名空间,InsertSkydriveFiles,就是窗体/Dll所自动生成的代码中的Namespace。

3.Target Framework

即.Net的版本,有2.0,3.0,3.5,4.0等等。

其中我此处是为了WLW编译一个dll插件,所以,希望是尽量兼容旧的版本。

因此,此处的.NET版本选择方面,会尽量选择比较低的2.0,这样之前旧的14版本的WLW(包括在Windows Live 2009中),也可以使用了。

即为了最大程度保持向后兼容性,在允许的情况下,尽量使用低版本的.Net。

4.Output Type

此处即当前C#项目,所生成的是何种类型的,包括Windows Application(带窗体的程序),Console Application(cmd命令行下的程序),和我这里的Class Library(DLL 类库)

5.Assembly Information

assembly information

这部分,常见的项,不需要多解释,此处说说需要注意的几个:

(1)Description

此处的描述,指的是你所生成的窗体程序或dll库的描述,而不是别的地方的,比如我这里的项目是WLW插件,其中源码中也有个description,不要和那个搞混了。想要改WLW插件的描述,是到源码中改,而不是这里。这里改的,只是程序或dll的描述而已。

(2)GUID

每个程序/dll,都会有个对应的GUID的,类似于程序的身份证,是唯一的,用于其他地方识别不同的程序的。

是Visual Studio自动生成的,不需要我们改变。

6. Resources

此处的Icon and manifest,只是我这里不需要关心。

而且对于程序的icon图标,也不是这里设置的,是在项目中,新添图标,然后设置为Embedded的而实现的。

 

【Build页面】

build platform target

此处也没太多需要的解释的,只说说需要注意的:

1.Platform Target

注意,如果想要指定编译出来的程序/dll用于特定CPU,那么就要选择对应的target了,比如64位的选择x64。

同理,如果别的程序无法在你的PC上运行,那么其中有个可能的原因就是,其编译出来的程序所选择的target和你当前系统不匹配,比如你的是x64,而其target设置为x86。

【Build Events和Debug页面】

build events

1.Pre和Post的Build Events 加上 Start Action中的 Start External Program

指的是,在编译项目之前和之后,有哪些要做的事情。

对于一般程序来说,都没有什么要填写的。

而对于像我此处的dll库来说,想要实现调试此dll库的话,就要填写对应的内容了。

即想要调试dll库的话,由于此dll库单独是无法运行的,所以需要借助别的程序来启动,然后加载此dll库,然后才可以调试。

所以在此dll项目编译之后,先要把生成的dll库,拷贝到对应的地址,然后再去Debug中:

debug

设置调试所用到的程序,这样才可以实现对应的dll库的调试。所以才需要在此处Post Build的地方填写对应的命令,实现拷贝dll到目标文件夹。

所以,如果是别的类似的项目,有此需要的话,则需要在此处的Pre或Post的Build Events中填写对应的动作。

 

【Settings页面】

settings

此处,默认的Settings是空的。

我这里是自己手动添加了一些设置,用于保存程序所用到的一些配置参数。

具体用途,可参考:【已解决】在不依赖外部xml等配置文件的前提下,实现C#中关闭后窗口后依然保留配置参数

 

【其他页面】

其他几个Services,Reference Paths,Signing,Code Analysis页面,由于此项目没有涉及到,没怎么用过,所以也不就不多解释了。

转载请注明:在路上 » 【总结】关于C#中的项目的属性的一些理解和心得

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.177 seconds, using 22.11MB memory