精华内容
下载资源
问答
  • C#多个项目 实力源码

    2008-10-01 13:49:37
    C# 源码 学习C#的同志们相信有很大帮助
  • C#多个项目如何共用文件

    千次阅读 2012-10-08 18:09:20
    其实非常简单,主要是日常没有注意到这问题,操作如下所示: 右键单击,从弹出菜单中选择【添加】-【现有项】; 在弹出对话框中选择,选择文件,然后在【添加】按钮旁边有箭头,单击箭头就会看见【添加为...

    其实非常简单,主要是日常没有注意到这个问题,操作如下所示:

     

    右键单击,从弹出菜单中选择【添加】-【现有项】;

     

    在弹出对话框中选择,选择文件,然后在【添加】按钮旁边有个箭头,单击箭头就会看见【添加为链接】的菜单,

    选择【添加为链接】方式来添加文件即可实现共享文件方式,如下图所示;

     

    添加成功后,文件显示如下图(文件图标不同):

     

     

    展开全文
  • 在我们的蓝山公司人事...但默认的应用程序配置文件只能在自己的项目中读取,如何实现多个项目共享一个app.config文件,这样,当数据库连接发生改变时,只需要修改应用程序配置文件app.config,而不需要重新编译程...
    在我们的蓝山公司人事管理系统的项目中,员工管理EmployeeManagement和安全管理Security等项目都要用到数据库连接,考虑到可以将数据库连接字符串存储到应用程序配置文件app.config。但默认的应用程序配置文件只能在自己的项目中读取,如何实现多个项目共享一个app.config文件,这样,当数据库连接发生改变时,只需要修改应用程序配置文件app.config,而不需要重新编译程序。
    一、建立应用程序配置文件app.config
    首先,打蓝山公司人事管理解决方案,在主项目BlueHillWindows中添加应用程序配置文件app.config,其内容如下:
    <?xmlversion="1.0"encoding="utf-8" ?>
    <configuration>
     <connectionStrings>
        <addname="BlueHillConnString"connectionString="Data Source=(local);Initial Catalog=BlueHill;User ID=BlueHill;Password=rj3101"providerName="System.Data.SqlCLient"/>
     </connectionStrings>
    </configuration>

     

    该连接字符串命名为BlueHillConnString,内容根据实际情况确定。
    编译时,会在相应的Bin文件夹生成与主程序同名的配置文件,如BlueHillWindows.exe.config,内容与app.config文件相同。发布时,只要修改BlueHillWindows.exe.config就可以修改数据库连接字符串。
    二、在员工管理EmployeeManagement项目中读取主项目中的配置文件
    读取配置文件,需要用到System..Configuration命名空间的Configuration类。首先,在EmployeeManagement项目中添加对.NET组件System..Configuration的引用。
    同样,在FrmNewEmployee窗体类的构造函数中,也写入同样的上述代码:
            public FrmListEmployee()
            {
                InitializeComponent();
                // 定义Configuration类对象,读取与主应用程序可执行文件相同文件夹下的配置文件
                System.Configuration.Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None);
                // 读取BlueHillConnString数据库连接字符串,并赋值给SqlConnectiong控件cnBlueHill
                this.cnBlueHill.ConnectionString = config.ConnectionStrings.ConnectionStrings["BlueHillConnString"].ConnectionString;
            }

     

    对应修改FrmListEmployee类的构造函数:
            public FrmNewEmployee()
            {
                InitializeComponent();
                // 定义Configuration类对象,读取与主应用程序可执行文件相同文件夹下的配置文件
                System.Configuration.Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None);
                // 读取BlueHillConnString数据库连接字符串,并赋值给SqlConnectiong控件cnBlueHill
                this.cnBlueHill.ConnectionString = config.ConnectionStrings.ConnectionStrings["BlueHillConnString"].ConnectionString;
                // 绑定部门列表
                BindDepart();
            }
     
            public FrmNewEmployee(int empID)
            {
                InitializeComponent();
                // 定义Configuration类对象,读取与主应用程序可执行文件相同文件夹下的配置文件
                System.Configuration.Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None);
                // 读取BlueHillConnString数据库连接字符串,并赋值给SqlConnectiong控件cnBlueHill
                this.cnBlueHill.ConnectionString = config.ConnectionStrings.ConnectionStrings["BlueHillConnString"].ConnectionString;
                // 存储要操作的员工号,并记录操作方式为更新
                this.EmployeeID = empID;
                this.Operator = OperatorType.Update;
                // 绑定员工列表和员工信息
                BindDepart();
                BindEmployee(this.EmployeeID);
                this.Text = "修改员工信息";
                tbPassword.CausesValidation = false; tbPassword.Enabled = false;
       }

     

    三、在安全管理Security项目中读取主项目中的配置文件
    与第二步类似,在Security项目中添加对.NET组件System..Configuration的引用。
    同样,在FrmLogin窗体类的构造函数中,也写入同样的上述代码: 
            public FrmLogin()
            {
                InitializeComponent();
                // 定义Configuration类对象,读取与主应用程序可执行文件相同文件夹下的配置文件
                System.Configuration.Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None);
                // 读取BlueHillConnString数据库连接字符串,并赋值给SqlConnectiong控件cnBlueHill
                this.cnBlueHill.ConnectionString = config.ConnectionStrings.ConnectionStrings["BlueHillConnString"].ConnectionString;
            }

     

    以后,如果在调试期间调整数据库连接字符串,修改主项目的app.config文件中对应的数据库连接字符串就要以了,应用程序无需任何修改。例如,要使用Windows身份认证,将连接字符串:
        <addname="BlueHillConnString"connectionString="Data Source=(local);Initial Catalog=BlueHill;User ID=BlueHill;Password=rj3101"providerName="System.Data.SqlCLient"/>
    修改为:
        <addname="BlueHillConnString"connectionString="Data Source=(local);Initial Catalog=BlueHill; Integrated Security=SSPI;"providerName="System.Data.SqlCLient"/>
    如果要使用SQL Server Express数据库,数据库example.mdf与可执行文件在同一文件夹,则可以将连接字符串改为:
    <addname="BlueHillConnString"connectionString=" Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\example.mdf;Integrated Security=True;User Instance=True"providerName="System.Data.SqlCLient"/>
    如果项目已经发布,也只需要修改可执行文件夹下与可执行文件同名的.config文件中对应的内容就可以了。
    展开全文
  • c#多个项目共用一个Config配置文件 c#多个应用程序共用一个Config配置文件
  • C# 多个开源项目

    2017-03-16 15:50:32
    Json.Net 是一读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单。通过Linq To JSON可以快速的读写Json,通过JsonSerializer可以序列化你的.Net对象。让你轻松实现.Net中所有类型(对象,...

    Json.NET 

    http://json.codeplex.com/

    Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单。通过Linq To JSON可以快速的读写Json,通过JsonSerializer可以序列化你的.Net对象。让你轻松实现.Net中所有类型(对象,基本数据类型 等)和Json的转换。

     

    Math.NET

    http://www.mathdotnet.com/

    Math.NET的目标是为提供一款自身包含清晰框架的符号运算和数学运算/科学运算,它是C#开发的开源类库。Math.NET含了一个支持线性代数的解析器,分析复杂微分,解方程等等功能。

     

    Faker.Net

    https://github.com/jonwingfield/Faker.Net

    开发的时候是不是为测试数据烦恼?Faker.Net可以非常方便帮你生成大批量测试数据。例如人员表里面的姓名、性别什么的。

     

    Html Agility Pack

    http://htmlagilitypack.codeplex.com/

    Html Agility Pack 是CodePlex 上的一个开源项目。它提供了标准的DOM API 和XPath 导航--即使 HTML 不是适当的格式!HTML Agility Pack 搭配 ScrapySharp,彻底解除Html解析的痛苦。

     

    NCrawler

    http://ncrawler.codeplex.com/

    NCrawler是一款国外的开源网络爬虫软件,遵循LGPL许可协议。其HTML处理使用的是htmlagilitypack开源库,采用xpath的方式处理定位网页元素,十分方便。

     

    SuperWebSocket

    http://superwebsocket.codeplex.com/

    SuperWebSocket是基于.NET开源Socket框架SuperSocket开发的, SuperSocket所支持的大部分功能在SuperWebSocket中得到了继承。用户可通过SuperWebSocket来快速的构建可靠的,高性能的websocket服务器端应用程序。

     

    SuperSocket 

    http://supersocket.codeplex.com/

    SuperSocket 是 一个轻量级的可扩展的 Socket 开发框架,可用来构建一个服务器端 Socket 程序,而无需了解如何使用 Socket,如何维护Socket连接,Socket是如何工作的。该项目使用纯 C# 开发,易于扩展和集成到已有的项目。只要你的已有系统是使用.NET开发的,你都能够使用 SuperSocket来轻易的开发出你需要的Socket应用程序来集成到你的现有系统之中。

     

    Quartz.NET

    http://www.quartz-scheduler.net/

    Quartz.NET 是一个开源的作业调度框架,是 OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而 创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。

     

    Lucene.Net

    http://lucenenet.apache.org/

    Lucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。开发人员可以基于Lucene.net实现全文检索的功能。

     

    HttpLib

     http://httplib.codeplex.com/

    一个基于C#语言的http协议的类库,Httplib让异步交互处理数据更容易了。类库的方法包括:上传文件到服务器,获取页面数据等等。

     

    Smart Thread Pool

    http://www.codeproject.com/Articles/7933/Smart-Thread-Pool

    智能线程池,用SmartThreadPool可以简单就实现支持多线程的程序,由线程池来管理线程,可以减少死锁的出现。SmartThreadPool还支持简单的生产者-消费者模式,当不需要对任务进行持久化时,还是很好用的。

     

    DocX

    https://docx.codeplex.com/

    DocX是一个用来操作word的轻量级的类库。借助DocX,开发人员可以在不需要安装Microsoft Word的情况下操纵word2007/2010文件。

     

    NPOI

    http://npoi.codeplex.com/

    NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作。

     

    PDFsharp

    https://pdfsharp.codeplex.com/

    PDFsharp 是可以轻松地在 .NET 语言中创建PDF文档的开放源码库。它使用相同的绘制程序来创建 PDF 文档,在屏幕上显示,以及输出到打印机。可以修改、合并、拆分已经存在的 PDF 文件,支持透明图像。

     

    Dapper

    https://github.com/SamSaffron/dapper-dot-net

    Dapper 是一个轻型的ORM类。代码就一个 SqlMapper.cs文件,编译后就40K的一个很小的Dll.Dapper很快。Dapper的速度接近与IDataReader,取列表的数据超 过了DataTable。Dapper支持Mysql,SqlLite,Mssql2000,Mssql2005,Oracle等一系列的数据库,当然如 果你知道原理也可以让它支持Mongo db。话说,这个ORM,博主自己也一直在使用,确实十分强悍,至少在性能方面,恐怕.NET里面的大多数ORM只能是望其项背了。

     

    NHibernate

    https://github.com/nhibernate

    NHibernate是现在开发人员用的较多的一个ORM。NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。

     

    log4net

    http://logging.apache.org/log4net/

    log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。

     

    SharpSerializer 

    http://sharpserializer.codeplex.com/

    SharpSerializer是一个开源XML和二进制序列化器。SharpSerializer可以序列化Xml和自己的二进制格式,还可以序列化Json等其他文本格式或其他数据加密,压缩,优化等二进制流。

     

    XProxy

    http://xproxy.codeplex.com/

    XProxy是一个支持插件的基础代理程序集。通过编写简单的插件程序,你将能开发各种各样的代理程序。
    XProxy是一个支持插件开发的数据交换机,可以编写插件对中转数据进行处理。内置有NAT插件、加解密插件、反向代理、直接代理、间接代理等插件。

     

    nopCommerce

    http://nopcommerce.codeplex.com/releases/view/106146

    nopcommerce 是国外的一个高质量的开源b2c 网站系统,基于EntityFramework4.0和MVC3.0,使用Razor模板引擎,有很强的插件机制,包括支付配送功能都是通过插件来实现 的,基于xml的多语言版本,非常灵活的语言切换功能,包括在后台都能同时编辑产品的中英文属性,非常适合做外贸,优秀超前的程序架构,性能也非常强大, 自定义的产品名称和分类又有很好的seo优化。综合能力远远高于国内的一些程序架构糟糕的.net商城程序,是二次开发和大型b2c架构的首选。3.0开 始支持多店。

     

    Enterprise Library

    https://entlib.codeplex.com/

    Enterprise Library for .Net Framework 3.5 – EntLib v4.1 是patterns & practices 小组为.NET Framework 3.5 开发一套企业库, 目前最新版本为v5.0,支持.NET Framework 4.0,共包括9个Application Block,包括数据访问(Data Access Application Block)、异常管理(Exception Handling Application Block)、数据验证(Validation Application Block)等等,对企业应用开发非常有帮助,也非常实用。

     

    Autofac

    http://autofac.org/

    Autofac是一款非常优秀的IOC框架,比较于其他的IOC框架,如Spring.NET,等等之类的,它非常的轻量级且性能上也很卓越。

     

    AutoMapper

    https://github.com/AutoMapper/AutoMapper

    AutoMapper是一个.NET的对象映射工具。主要用于领域对象与DTO之间的转换、数据库查询结果映射至实体对象。

     

    7-Zip

    http://www.7-zip.org/
    http://sourceforge.net/projects/sevenzip/postdownload?source=dlp

    7-Zip 是 一款号称有着现今最高压缩比的压缩软件,它不仅支持独有的 7z 文件格式,而且还支持各种其它压缩文件格式,其中包括 ZIP, RAR, CAB, GZIP, BZIP2和 TAR 等等。此软件压缩的压缩比要比普通 ZIP 文件高 30-50% ,因此,它可以把 Zip 格式的文件再压缩 2-10% 。

    .Net PDF 类库

     

    PDFsharp   

        PDFsharp是一款可以让.NET框架支持的任何语言很容易的创建PDF文件的类库。

    ASP.NET FO PDF   

        FO PDF 是一款C#编写类似于ASP.NET服务器控件的控件。它接受DataTable 和一些其它参数来创建XSL FO,并使用NFOP (Apache FOP Port in J#) PDF Formatter来绘制一个类似PDF Report 的DataGrid 。今后将会增加更多的标签来可以生成XSL FO 。

    Report.NET    

        Report.NET 开源类库包含了生成精确PDF文档的类。它是.NET平台下的C#编写的,可以帮助你创建简单的灵活的PDF文件。你可以从任何ADO.NET的 DataSet取得数据来创建PDF文档。ASP.NET可以用Report.NET来创建动态的PDF响应页面。

    SharpPDF   

         SharpPDF是可以用来简单的创建PDF文件的C#类库。它创建的文件百分白兼容PDF格式。

    iTextSharp   

       iTextSharp是一款开源的PDF操作类库,使用它可以快速的创建PDF文件。http://hardrock.cnblogs.com/  是一个关于 iTextSharp的中文Blog。

    工作流 

    Workflow.Net    

         Workflow.Net是使用微软.Net技术基于wmfc标准的创建工作流引擎。

    netBPM    

         NetBPM是JBpm移植到.net平台下的一款开源工作流软件。NetBpm可以很容易和.Net应用程序集成在一起,可以创建,执行和管理工作流程序。
         Bpm Tool支持将业务模型转换成软件模型。业务开发人员可以使用模型驱动的方法设计,实现,执行和跟踪业务流程。因此开发人员能够更容易的关注业务逻辑的变化。

     

     

    持久层框架

     

    NHibernate    

         NHibernate是一个面向.NET环境的针对关系型数据库的对象持久化类库。 
         NHibernate来源于非常优秀的基于Java的Hibernate关系型持久化工具。 NHibernate从数据库底层来持久化你的.Net对象到关系型数据库。NHibernate为你处理这些,你不用自己写SQL去数据库存取对象。你 的代码仅仅和对象关联,NHibernat自动产生SQL语句,并确保对象提交到正确的表和字段中去.大量减少开发时人工使用SQL和ADO.NET处理 数据的时间. NHibernate可以帮助你消除或者包装那些针对特定数据库的SQL代码,并且帮你把结果集从表格式的表示形式转换到一系列的对象去。因此对于那些在 基于.NET的中间层的应用中,它们实现面向对象的业务模型和商业逻辑的应用,NHibernate是最有用的。

    FileHelpers Library    

        FileHelpers Library是一款C#编写的开源 .NET 类库。它使用简单,很容易就可以从固定长度文件或界定记录(CSV)读/写数据。它也支持从不同的数据存储格式(Excel, Access, SqlServer)导入/导出数据。

    Websharp   

        Websharp是国人开源的一款开源持久层框架,它的目标是设计一个基于.Net的通用的应用软件系统的框架,以简化基于.Net平台的企业应用软件的开发。目前,Websharp关注于企业应用软件的以下几个方面:
    1、  数据库访问
    2、  O/R 映射
    3、  AOP
    4、  分布式访问

    ObjectBroker    

        ObjectBroker是.NET平台下的一款开源O/R映射框架。它支持对象缓存,1:1, 1:n 和 m:n的关联映射等特性。

    Gentle.NET    

        Gentle.NET是一款开源的与关系数据库(RDBMS)无关的对象持久层框架,可以自动生成SQL和对象结构。它拥有一个SQL工厂用来创建自定义查询、DataView构建助手和卓越的性能和完善的文档。

    Ubik   

         Ubik是C# 2.0下的ORM持久层框架,当前是WinForms应用程序开发提供的.它支持OPath的子集而可以进行面向对象查询,且包含一个网络事件系统.

    NDal    

         NDal是一个数据提取层(DAL)框架,它可以运行在.NET和Mono环境下。

    Persist.NET    

         Persist.NET是C#编写的一款完整的持久层框架。

    ObjectBroker    

         ObjectBroker是.NET平台下的数据库对象/关系映射(O/R Mapping)框架。

    iBATIS.NET    

        iBATIS.NET帮助你的应用系统创建更好的持久层框架。

    Advanced Data Provider    

         Advanced Data Provider是为ADO.NET提供的动态数据提供者 。可以让应用程序透明的访问不同的ADO.NET 数据提供者。

    OJB.NET    

         OJB.NET是一款.NET平台下的对象/关系映射(O/R Mapping)工具。

     

    图表制作

     

    ZedGraph    

        ZedGraph是C#编写的.NET类库,提供了用户控件和web控件。它可以创建2D的线性图、条形图和饼图。它功能完整且有详细的功能自定义,不过使用默认的选项就足够好用了。

    .NET Charts    

         一款类似 PieChart, StackBar, LineChart的C#开源图表组件。

    NPlot   

        NPlot是一款.NET下的开源图表类库.它值得称道的地方是优雅且灵活的API设计.NPlot包含了Windows Form控件, ASP.NET控件和一个创建Bitmap图片的类。还有一个可用的GTK#控件。

    XSCharting    

        XSCharting是C#开发的图表组件,提供了多种多样的图表选项。

    DaveChart   

        DaveChart是一个免费的DotNet类库。

    NChart    

        NChart 提供了很多值得应用在商业,教育等多个领域的2 D图表。

    WebGis

    SharpMap    

        SharpMap是一款易于使用的地图渲染器,它可以为Web和Windows应用程序渲染GIS数据。SharpMap是使用C#编写,基于.NET 2.0框架上开发的开源项目。

    monoGIS   

        monoGIS将成为Mono平台下的开源完整GIS。已经发布了internet mapserver,OGC WMS实现和一些工具像空间格式转换。

    NASA World Wind    

        NASA World Wind 是C#开发的个人电脑上的开源的3D图形虚拟地球系统。它结合了美国国家航空航天局(NASA)从卫星拍摄的图像,这些图像应用于Blue Marble, Landsat 7, SRTM, MODIS 以及其它更多的地方。

    展开全文
  • 前言这个题目有点不太合适。总之,如果你在做一个C#的WebForm项目,项目有点大,于是你在一个解决方案里面建立很多项目,这样便于多人协作...多个项目如何共用一个web.config?如何使dll生成到同一个目录下? 这篇博

    ##前言
    这个题目有点不太合适。总之,如果你在做一个C#的WebForm项目,项目有点大,于是你在一个解决方案里面建立很多项目,这样便于多人协作开发,同时也能根据项目生成多个dll,便于编译及发布。但是这样子就可能遇到以下问题:

    项目A的页面Page1如何跳转到项目B的页面Page2?
    
    项目A的页面Page1如何引用项目B的母版页?
    
    多个项目如何共用一个web.config?
    
    如何使dll生成到同一个目录下?
    

    这篇博客就是为了解决以上问题。

    闲话不多说,我们开始吧。

    ##正文

    这里我们就从头开始,构造一个符合我们要求的解决方案。

    首先打开我们的VS,新建一个解决方案TestSolution,路径如图所示

    ########## pic 1

    接下来,在该解决方案中新建一个项目 MainProject,在MainProject中新建一个web窗体MainPage1.aspx , 新建一个母版页MainMasterPage.Master

    这时候,[VS解决方案资源管理器] 与[解决方案文件夹] 如图所示:

    ######### pic 2

    同时,MainProject的项目文件夹如下图:

    ########## pic 3

    接下来就是重点了。

    接下来就是重点了。

    接下来就是重点了。

    我们在MainProject里面添加一个文件夹Module1:

    ########## pic 4

    在 [VS解决方案资源管理器] 中,右键[解决方案],选择添加[新建解决方案文件夹],名为0_Module1, 这时候让我们看一下目录里的情况:

    ############ pic 5

    这里可以看到,对应目录下,并未产生一个名为0_Module1的文件夹。

    这里我们得出了第一个结论:

    VS解决方案资源管理器 并不是简单的显示目录结构。

    在一个解决方案中,新建解决方案文件夹 是一个虚拟目录,是不存在的。

    然后我们要做什么呢?

    右键0_Module1,添加一个项目Module1.Project1 ,这里仔细看该项目的路径:

    ############## pic 6

    看到了吗,这里是一个技巧,该路径不要用默认的TestSolution下,而是把他放到了TestSolution/MainProject/Module1下了。

    目前的文件夹状况如下图:

    ########### pic 7

    看到这里,对于文章开头提出的问题,相信有很多读者已经有了想法与感悟,那么我们接下来加快节奏,各位小伙伴系好安全带。

    将MainProject下的Module1 从项目中排除(右键->从项目中排除)。

    右键 0_Module1,添加项目Module1.Project2,选路径时要注意,依旧不要用默认的路径,而是将它改为TestSolution/MainProject/Module1 。

    在 Module1.Project1 中添加一个web窗体 Project1.Page1.aspx .
    在 Module1.Project2 中添加一个web窗体 Project2.Page1.aspx .

    这时候, [VS解决方案资源管理器] 及 文件夹路径 如下:

    ############# pic 8

    在MainPage1.aspx中添加如下代码

    <p>MainPage1</p>
    <div>
        <a href="/Module1/Module1.Project1/Project1.Page1.aspx">Goto Project1.Page1</a>
    </div>
    

    在Project1.Page1.aspx中添加如下代码

    <p>Project1.Page1</p>
    <div>
        <a href="/Module1/Module1.Project2/Project2.Page1.aspx">Goto Project2.Page1</a>
    </div>
    

    在Project2.Page1.aspx中添加如下代码

    <p>Project2.Page1</p>
    <div>
        <a href="/MainPage1.aspx">Goto MainPage1</a>
    </div>
    

    设置MainProject为启动项目,设置MainPage1.aspx为启动页。

    将 Module1.Project1 和 Module1.Project2 的 web.config删除

    将 Module1.Project1 和 Module1.Project2 的 [属性]-> [生成]->[输出路径] 改为[ …\bin\ ] ,即MainProject的bin文件夹。

    右键解决方案,选择生成解决方案

    ############## pic 9

    可以看到所有dll都生成在MainProject的bin文件夹下

    启动调试。

    可以发现,3个项目的页面可以互相跳转了。

    母版页也可以引用了,这里就不演示了,还请读者自行测试。

    ##分析

    来简单分析一下,我们是如何达到我们的目的的呢?

    这三个项目的关系是什么?

    首先我们要明确,[VS解决方案资源管理器] 显示的并不是目录,而是记录在sln文件里的解决方案的资源项。这里为了区分Module1这个文件,便于新手理解,我们的 虚拟目录 取名为 0_Module1.

    该虚拟目录文件夹名也可以是Module1,这样的话,虚拟解决方案文件夹与MainProject下的文件夹名称相同,虽然不便于新手理解,但是便于查找某个项目的文件。

    页面文件中a标签跳转路径采用了相对路径。 " / " 一个斜杠,表示根目录,这个根目录是相对于域名的根目录,也就是相对于MainProject的根目录。这里页面的跨项目跳转,其实并不是真正的跨项目跳转,而是Project1本来就是MainProject的一部分,因为Project1就在MainProject文件夹里的Module1文件夹里面啊。

    该解决方案可以在博主的资源页下载https://download.csdn.net/download/wf824284257/10820639 ,文件名为【解决方案下多个项目处理措施.rar】

    最后画个图表示一下这三个项目的关系:

    ############ 10

    ###在此感谢小乐的讲解

    展开全文
  • C#一个解决方案创建多个项目

    千次阅读 2020-08-03 09:54:18
    2020/8/3 今天又学一招,如题目所示。...1.新建个项目,这里新建了个控制台应用程序。 2.右击解决方案,新建个项目 我又新建了个窗体项目起名叫“Draft_win” 可以看到,解决方案所在文件夹出了Draft_win
  • 第一C#项目设置为启动项; 第二将所对应的项目中的Program.cs程序中代码Application.Run(new Form1())改为对应的窗体名即可。 static void Main() { Application.EnableVisualStyles(); Application....
  • 问题如下。其中一窗体是用来设置串口号。想实现的结果的是通过这一窗体设置好串口号后,其它窗体serialport的串口号也相应被修改。虚心向大家请教
  • 以前总是做的是单个项目,没有做过,多个系统在一块配合进行调试。如果一个网站给你的网站某个页面Post数据我们怎么调试呢。很简单的。 首先 把要调试的页面部署到IIS上 并且运行起来。在浏览器上打开调试的网站,...
  • C#中在一个解决方案中新建多个项目

    千次阅读 2018-07-10 11:03:57
    解决方案——右键——添加——新建项目
  • 我现在想到的是把所有项目的Realse都拷贝到一目录。但是启动项目依赖大约有8其他项目,这样手动操作有点麻烦。请问下,一般C#方案多项目,是如何操作外发程序的。
  • C#)一个解决方案下的多个项目之间互相调用 1.选择调用其他项目资源的项目->“引用”->右击“添加引用”->“项目”->选择要调用的项目 2.在该项目下的资源中添加“using 被调用的资源名称;” 3....
  • 原文地址: http://sigechuizi.cn/article/117
  • 公司架构用三层架构搭建了一个C#的WEB项目。![图片说明](https://img-ask.csdn.net/upload/201708/21/1503296424_810965.png) 早晨项目报错我就手贱点了一“清理”。 然后重新运行项目就报了下面的错误: !...
  • 将筛选器添加到数据透视表中,可以在其中选择多个项目
  • 看了网上一些 .net core多项目解决方案的创建,感觉太麻烦了... 今天闲来无事自己创建了一下,简直了简单的要死.. 直接创建 asp.net core 项目添加 Areas的方式就不说了... 多项目创建就 5 步: 环境 Visual ...
  • C# WebApi 项目

    2020-12-29 16:18:07
    C# WebApi 入门项目创建 或不说直接进入正题,首先呢现在VS中创建项目 第一步: 然后 好了这样一API项目就创建成功了。
  • 用vb开发系统用了2年了,现在想自己用C#个项目~~项目正在进行中~ 呵呵
  • 相机兼容驱动 特色: 巴斯勒=1 海康=2 迈德威视=4 维视图像=8(未完成) 映美精=16 usb=32 使用原生sdk开发,使用更稳定 充分利用c#的多态继承思想,消灭重复代码 地址 ...
  • 新建项目,添加两button 生成点击事件 private void button1_Click(object sender, EventArgs e) { MessageBox.Show(&quot;button1&quot;); } private void button2_Click...
  • 本文是关于多人合作开发项目时候的一种策略,可以分工合作,然后将不同人的任务放到同一文件夹里,由主窗体进行调用。呵呵呵,很简单的啊!
  • 本资源是C# 多个Y轴曲线显示(源码),源码示例可作为事件项目的参考价值
  • C#项目中设置命令行的多个参数

    千次阅读 2013-03-29 15:18:50
    项目名称右键 -> 属性 -> 项目属性页 -> 配置属性 -> 调试 -> 命令...一个空格和多个空格效果一样,编译器将其解释为一个空格;逗号和分号不能用来分隔各参数,如果写上,会被认为是参数的一部分; (3) 如果参数中包
  • 我正在构建一个Todo应用程序,它支持C#和React.js中的多个项目,用户和列表。 这是后端,目前还没有投入生产。 跑步 运行: dotnet ef database update以创建数据库(sqlite)。 之后: dotnet run
  • 实验6-C#多项目开发

    2018-02-10 13:23:24
    1、使用三窗体模块文件及一标准模块文件,使输入字符串以不同形式显示。程序设计:程序代码://定义公共类 namespace WindowsFormsApplication1 { class PublicClass { public string fnClsSpace(string s)//...
  • 可以这样,设置那个你想运行的项目为启动项目。如下图:
  • c# 项目实例源码150

    热门讨论 2013-03-10 22:13:21
    源码很,很实用。简单易懂!值得拥有。 从窗体到图像到系统到web应用。由浅入深,非常适合初学者

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,975
精华内容 3,590
关键字:

c#多个项目

c# 订阅