我的解决方案和项目存储在不同的位置是不是一个坏主意?

时间:2017-03-03 00:08:30

标签: asp.net iis-7.5 projects-and-solutions sln-file

不知何故,我的解决方案和项目的路径/完整路径不同。

我的解决方案的路径属性(“customerreportingnet”)是:

C:\Users\cshannon\Documents\Visual Studio 2013\Projects\customerreportingnet\customerreportingnet.sln

该解决方案下唯一的项目是网站(“http://localhost/EMS/customerreportingnet/”)。

网站项目的FullPath是这样的:

C:\EnhancedMonthlySalesReporting\customerreportingnet\customerreportingnet

为什么解决方案和项目位置不同?

我在设置中做错了什么吗?我从.zip文件下载了文件,并将它们解压缩到C:\ EnhancedMonthlySalesReporting \

然后我在IIS中创建了一个虚拟目录,将其映射到C:\ EnhancedMonthlySalesReporting \ customerreportingnet \ customerreportingnet,为其提供别名“EMS”。

然后在VS中我以这种方式打开网站(解决方案/项目):

档案>打开网站......

然后我打开IIS> EMS

当我这样做时,我看不到“项目”下面的任何文件 - 解决方案资源管理器中显示的只是解决方案和项目名称 - 它们下面没有子文件夹或文件。但是,当我右键单击解决方案“customerreportingnet”并选择“打开网站”,然后回复确定“打开网站(这将关闭当前解决方案)”一切都相对不错 - 我可以右键单击该项目( “http://localhost/EMS/customerreportingnet/”),选择“在浏览器中查看”(Internet Explorer)并运行该站点。

C:\ Users \ cshannon \ Documents \ Visual Studio 2013 \ Projects \ customerreportingnet \中的唯一文件是:

customerreportingnet.sln customerreportingnet.v12.suo

C:\ EnhancedMonthlySalesReporting \ customerreportingnet \ customerreportingnet包含这些文件以及更多文件(以及beaucoup文件夹)。

我是否应该尝试将解决方案路径重置为C:\ EnhancedMonthlySalesReporting \ customerreportingnet \ customerreportingnet,或者这只是一个奇怪的问题,但不是问题?

如果是这样,那就像改变那个属性值一样简单,还是会让事情变得混乱?

2 个答案:

答案 0 :(得分:2)

  

将我的解决方案和项目分开存储是一个坏主意   地点?

  • solution是"容器"对于项目。它们在您的本地文件系统中的位置并不重要。所以在这种情况下,它很好"。

    有一些解决方案上下文由你之前做过的一些"项目组成并不罕见。所以你可以组织" a"新"解决方案由位于其他地方(来自其他一些"解决方案")的项目和新项目组成。

  • 然而,一旦您进入Source Control,无论是TFS还是GIT,它都很重要 - 他们(解决方案中的项目必须位于同一个父文件夹中才能轻松处理。因此,在这种情况下,它是坏的"。

    TLDR;仍然有办法在不同的文件夹中有效地获取控制项目" - 每个人都是自己独立的"存储库"。但是你必须手动/单独进行同步,合并等。

如果我正确关注您的帖子,我认为您正在寻找的是Add...,而不是Open... - 您想要添加现有项目或网络网站到解决方案。

取决于您之后的内容以及您正在处理的文件:

  • 如果您在压缩文件中有Project,那么您可以Add Existing Project,依此类推......

不确定为什么需要执行在IIS中执行的操作 - 您可以在Visual Studio(IIS Express)中进行调试。

或者,您可以从Visual Studio Publish您的网站/应用程序,然后定位一个本地文件系统文件夹,然后您可以在IIS中设置(本地IIS,如果已安装) - 这样,您就有了一个& #34;设备" (VS)和"分期" (在IIS中发布映射的文件夹)环境。

... H个

答案 1 :(得分:1)

提取代码并在visual studio中打开项目后。

如果您打开项目,Visual Studio将自动创建解决方案文件(您也可以直接打开解决方案文件)。点击save all或保存解决方案文件后,它会将其保存到以前的位置或默认位置。

由于之前未保存文件,visual studio会将其保存到默认位置:

 C:\Users\cshannon\Documents\Visual Studio 2013\Projects\[ProjName]\[ProjName].sln

如果您希望其他开发人员能够轻松打开您的项目。 (特别是当您开始在1个解决方案中包含多个项目时),您希望将解决方案文件包含在项目位置中。否则每个开发人员都必须自己创建这个解决方案文件,这是令人讨厌和繁琐的工作。

由于dotnet核心最佳实践文件结构是这样的:

/root
   /src <== contians all the projects per folder
      /project1
         /project1.csproj
         /etc*
      /project2
   /[ANameForSolution].sln (so directly inside the proj folder, next to src)

人们使用的旧习惯更平坦:

/root
   /project1
   /project2
   /YourSolution.sln

最佳实践,将所有内容移至/src是因为最近项目的根目录已经有很多(配置)文件,这样你就可以让root更清洁。