我有Java背景,我正在尝试从C#开始。
我想在C#中创建一个将在其他解决方案中使用的库。在Eclipse中,只需创建一个jar并将其添加到classpath即可。我知道VS2013中的每个项目都变成了一个dll,但我怎样才能找到解决方案呢?
此外,在Eclipse中,我们可以创建Web Fragment Project。它可以有Servlets,jsp和静态js和css文件,它变成一个war文件,可以导入到另一个项目中,并在该项目中使用它的文件。
我怎样才能在VS2013中做到这一点?我想创建一个包含静态文件,母版页,一些aspx东西,C#dll的解决方案,然后在其他解决方案中使用它们。
是否有任何教程(我用谷歌搜索但没有找到)教导如何做到这一点?
答案 0 :(得分:4)
根据您的偏好和范围,您有几个选择
您可以创建可在您的网站项目中引用的类库。类库是类,接口和值类型的库
您可以将现有/新类库项目添加到您的网站解决方案并直接引用
或强>
您可以使用新的/现有的类库项目 - 在您的网站解决方案中构建它并引用内置的dll。
完成上述任何一项后 - >
如果您要引用的dll是当前解决方案的一部分(如步骤1中所示) - >按下“添加引用”后 - 按“解决方案”选项卡,它应显示
添加完dll之后。
请记住使用
Using TheReferenceNamespace;
这将允许你调用你内部的函数,如下所示
FunctionInsideDll(param);
或者您可以完全限定您的通话,例如以下
TheReferenceNamespace.FunctionInsideDll(param);
如果你只想要“可分享的”主页 您可以执行以下操作 - (取自此 - > MSDN文章) (供将来参考 - web archive link - 以防万一被移动)
预编译母版页中使用的代码
如果您担心重新使用页面的其他人可以看到母版页中的代码,则可以将母版页的代码预编译到库中。在此库中,您可以包含代码隐藏页面以及用户或自定义控件。编译母版页不会删除主文件或所使用的任何服务器控件的声明性代码,但您可以编译主文件以删除母版页使用的控件或代码隐藏页面的代码。
如果选择将母版页编译到库中,则必须使用“可更新”构建选项,以便稍后修改标记。此选项由“发布网站”对话框中的“允许预编译站点可更新”复选框确定。有关将页面预编译到可以重用的库中的更多信息,请参阅使用VS 2005构建可重用的ASP.NET用户控件和页库。
创建模板,并将该模板用于不同的项目
在Visual Studio中 - 按“文件” - >导出模板 - >按照向导。
导出它之后并导入它(通过向导中的复选标记或双击vsix文件) - 在创建新项目时,它将显示在项目模板下。
答案 1 :(得分:1)
您可以在解决方案B中包含解决方案A中的项目,方法是右键单击解决方案B并选择"添加现有项目"
答案 2 :(得分:0)
不要害怕编辑XML .csproj文件。例如,这有效......
<Compile Include="$(Codez)\z.Libraries\diff-match-patch\DiffMatchPatch\**\*.cs"
Exclude="NotThisOne.cs;**\NotThisFolderWith\This*.cs">
<Link>Libs\%(RecursiveDir)%(Filename)%(Extension)</Link>
</Compile>
...并且会将源文件夹和子文件夹中的所有C#文件作为目标项目中名为\Libs\
的文件夹中的链接文件提供给您。
$(Codez)
是我在PC上使用的Windows环境变量。 *.*
而不是*.cs
。