c# - Visual Studio 2013 C# : one solution consume code of another solution

标签 c# asp.net eclipse visual-studio-2013 master-pages

我有 Java 背景,正在尝试从 C# 开始。

我想用 C# 创建一个将在其他解决方案中使用的库。在 Eclipse 中,只需创建一个 jar 并将其添加到类路径中即可。我知道VS2013中的每个项目都会变成一个dll,但是我怎样才能让解决方案看到这些dll?

此外,在 Eclipse 中,我们可以创建一个 Web Fragment 项目。它可以有Servlet,jsp和静态js和css文件,它成为一个war文件,可以导入到另一个项目中,并且它的文件可以在该项目中使用。

如何在 VS2013 中做到这一点?我想创建一个包含静态文件、母版页、一些 aspx 内容、C# dll 的解决方案,然后在其他解决方案中使用它们。

是否有任何教程(我用谷歌搜索过,但什么也没找到)教如何做到这一点?

最佳答案

根据您的喜好和范围,您有几种选择

选项 1 - 类库

您可以创建类库,可以在您的网站项目中引用。类库是类、接口(interface)和值类型的库

您可以将现有/新的类库项目添加到您的网站解决方案中并直接引用它

  1. 您可以通过右键单击
    将项目添加到您的解决方案中 解决方案(VS内)->添加->现有项目->并导航到所述
    项目的 .csproj 文件

您可以使用新的/现有的类库项目 - 构建它并在您的网站解决方案中引用构建的 dll。

  • 您可以右键单击您的网站解决方案(在VS中)->添加->新项目->选择类库
  • 完成上述其中一项操作后 ->

    1. 右键单击要添加引用的项目
    2. 点击“添加引用”
    3. 导航到有问题的 .dll。

    如果您要引用的 dll 是当前解决方案的一部分(如步骤 1 所示) -> 在按“添加引用”后 - 按“解决方案”选项卡,它应该会显示

    enter image description here

    enter image description here 添加 dll 后。 请记住在代码文件中使用

    引用它
    Using TheReferenceNamespace;
    

    这将允许您调用 dll 内的函数,如下所示

    FunctionInsideDll(param);
    

    或者您可以完全限定您的调用,如下所示

    TheReferenceNamespace.FunctionInsideDll(param); 
    

    选项 2 - 共享母版页

    如果您只想“可共享”母版页 你可以执行以下操作 - (摘自此 -> MSDN 文章) (供将来引用 - web archive link - 以防万一有东西被移动)


    预编译母版页中使用的代码

    如果您担心母版页中的代码对其他重用页面的人可见,您可以将母版页的代码预编译到库中。在此库中,您可以包含代码隐藏页面以及用户或自定义控件。编译母版页不会删除主文件或使用的任何服务器控件的声明性代码,但您可以编译母版文件以删除母版页使用的控件或代码隐藏页的代码。

    如果您选择将母版页编译到库中,则必须使用“可更新”构建选项,以便以后修改标记。此选项由“发布网站”对话框中的“允许预编译站点可更新”复选框确定。有关将页面预编译到可重用库的详细信息,请参阅使用 VS 2005 构建可重用的 ASP.NET 用户控件和页面库。


    选项 3 - 模板

    创建模板,并将该模板用于不同的项目 在 Visual Studio 中 - 按"file"-> 导出模板 -> 按照向导操作。 导出并导入后(通过向导中的复选标记或双击 vsix 文件) - 当您创建新项目时,它将显示在项目模板下。 enter image description here enter image description here

    关于c# - Visual Studio 2013 C# : one solution consume code of another solution,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28171416/

    相关文章:

    c# - 无法将 'string'隐式转换为 'System.TypeCode'

    c# - 确定所有线程何时完成 C#

    c# - 将 Razor View 渲染为字符串会导致额外的格式标记(制表符、换行符)?如何去除?

    asp.net - 当特定行的 db 值为 0 时,如何禁用超链接?

    java - 在保存文件之前,不会删除自定义编译器错误(修复后)

    java - 从 eclipse 运行配置中提取命令行参数

    c# - 为什么 SuppressFormsAuthenticationRedirect 导致构建错误?

    javascript - DatePicker 日期错误地绑定(bind)到 textbox-1 ?提供 fiddle

    c# - 用户控件内的 TextBox textchange 事件

    java - 如何在相机捕获的图像上叠加图像或 View