1、同一个解决方案下的两个项目之间怎么相互调用
在项目的“引用”上右键,添加引用,选你要引用的项目。然后在代码里就能调用引用项目里的某个类的方法了。
2、如果一个项目类型为”类库“的项目要运行,会报如下错误
解决方法:在上面右图里,将输出类型从”类库“改为“控制台应用程序”,并在程序里写好Main函数入口
3、Help viewer启动不起来,或者启动后,文章列表里有些打不开
重装:
修改注册表 [HKEY_LOCAL_MACHINESOFTWAREMicrosoftHelpv2.0CatalogsVisualStudio11]的LocationPath值为msdn文档的目录
如:D:study datadotnet技术c#msdn
4、程序集和命名空间的区别
程序集名称:决定了在程序编译时出生成的dll文件的名字。用反射机制时,反射的path路径要是程序集,不能是命名空间。
命名空间:是为了解决不同命名空间的相互访问的各种问题。
在开发时,要养成程序集和命名空间一样的习惯,不必要是不要改。
5、c#项目在重命名后,它所处的文件夹名字没有改。
解决方法:将此项目从解决方案里移除,然后更改文件夹的名字后重新增加此项目
6、vs的代码段管理
描述:如输入if再按两个tab键后,vs会自动给生成一段代码,光标会在代码的指定要输入参数的位置。在微软的技术里叫“Code Snippet”,可以查看帮助文档。
有哪些常用的代码段:按ctrl+k,x会提示,或在vs的工具--》代码段管理器里面可以查到。
怎么自定义代码段:在工具——》代码段管理器,里可以看到代码段的配置文件路径,去路径里打开看看代码就行。方法不详讲
<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">--代码段集 <CodeSnippet Format="1.0.0">--代码段 <Header> <Title>foreach</Title>-- <Shortcut>foreach</Shortcut>--输入foreach再按两个tab就调出代码段 <Description>foreach 语句的代码段</Description> <Author>Microsoft Corporation</Author> <SnippetTypes>--暂不明 <SnippetType>Expansion</SnippetType> <SnippetType>SurroundsWith</SnippetType> </SnippetTypes> </Header> <Snippet> <Declarations>--说明,鼠标在下面<code/>定义的代码段参数上时的提示信息 <Literal> <ID>type</ID>--这个type就是下面代码段里的变量 <ToolTip>要循环访问的集合中对象的类型</ToolTip> <Default>var</Default>---type的默认值,下面代码段里的type其实就是一个占位符 </Literal> <Literal> <ID>identifier</ID> <ToolTip>表示集合中的元素的标识符</ToolTip> <Default>item</Default> </Literal> <Literal> <ID>collection</ID> <ToolTip>要循环访问的集合或数组的名称</ToolTip> <Default>collection</Default> </Literal> </Declarations> <Code Language="csharp"><![CDATA[foreach ($type$ $identifier$ in $collection$)----代码段,$$里就是要替换的内容,$selected$$end$为回车后光标的位置 { $selected$ $end$ }]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>
下面是我写的方法代码段
<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>meth</Title> <Shortcut>meth1</Shortcut> <Description>方法 语句的代码段</Description> <Author>周晶</Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> <SnippetType>SurroundsWith</SnippetType> </SnippetTypes> </Header> <Snippet> <Declarations> <Literal> <ID>public</ID> <Default>public</Default> </Literal> <Literal> <ID>void</ID> <Default>void</Default> </Literal> <Literal> <ID>methodName</ID> <Default>methodName</Default> </Literal> <Literal> <ID>pro</ID> <Default>pro</Default> </Literal> </Declarations> <Code Language="csharp"><![CDATA[$public$ $void$ $methodName$ ($pro$) { $end$ }]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>