将我的解决方案和项目存储在不同的位置不是一个好主意吗?
Is it a bad idea for my solution and project to be stored in separate locations?
我的解决方案和项目在 Path/FullPath 方面有所不同。
我的解决方案 ("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 中我这样打开网站 (solution/project):
文件 > 打开网站...
然后我打开 IIS > EMS
执行此操作时,我没有在 "project" 下看到任何文件 - 在解决方案资源管理器中可见的只是解决方案和项目名称 - 在它们下面没有子文件夹或文件。但是当我右击解决方案"customerreportingnet"和select"Open Web Site",然后回复OK到"Open the Web site (this will close the current solution)"一切都比较好-我可以右击项目("http://localhost/EMS/customerreportingnet/"), select 在浏览器 (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,还是这只是一个奇怪的问题,但不是问题?
如果是这样,是否就像更改 属性 值一样简单,还是会把事情搞砸?
Is it a bad idea for my solution and project to be stored in separate
locations?
A solution 是项目的 "container"。它们在本地文件系统中的位置并不重要。所以在这种情况下,它是 "fine"。
由一些 "projects you did before" 组成的解决方案上下文并不罕见。因此,您可以 "organize" 一个 "new" 解决方案,该解决方案由位于其他地方的项目(来自其他 "solution")以及新项目组成。
但是,一旦你进入Source Control
,无论是TFS
还是GIT
,那就很重要了- 它们(解决方案中的项目)必须位于同一个父文件夹中才能轻松处理。所以在这种情况下,它是 "bad".
TLDR;仍然有一些方法可以有效地进行源代码控制 "projects in different folders" - 每一个都是独立的 "repository"。但是您必须 manually/separately 进行同步、合并等
如果我正确地关注了你的 post,我认为你正在寻找的是 Add...
,而不是 Open...
- 你想添加一个 现有项目或网站 到解决方案。
取决于您的追求,以及您要处理的文件:
- 如果压缩文件中有
Project
,那么你可以Add Existing Project
,依此类推...
不确定为什么需要执行在 IIS 中所做的操作 - 您可以在 Visual Studio (IIS Express) 中进行调试。
或者,您可以从 Visual Studio Publish
您的网站 site/application 并定位一个本地文件系统文件夹,然后您可以在 IIS(如果安装了本地 IIS)中设置 - 这样,您的本地计算机中有一个 "dev" (VS) 和 "staging"(在 IIS 中映射的发布文件夹)环境。
第...
提取代码并在 visual studio 中打开项目后。
Visual studio打开项目会自动生成一个解决方案文件(也可以直接打开解决方案文件)。单击 save all
或保存解决方案文件后,它会将其保存到以前的位置或默认位置。
由于您之前没有保存文件,visual studio会将其保存到默认位置:
C:\Users\cshannon\Documents\Visual Studio 2013\Projects\[ProjName]\[ProjName].sln
如果您希望其他开发人员能够轻松打开您的项目。 (特别是当您开始在 1 个解决方案中拥有多个项目时),您希望将解决方案文件包含在项目位置中。否则每个开发人员都必须自己创建这个解决方案文件,这是一项烦人且繁琐的工作。
自 dotnet core 以来,最佳实践文件结构是这样的:
/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
是因为最近项目的根目录已经有很多(配置)文件,这样您可以使根目录更干净一些。
我的解决方案和项目在 Path/FullPath 方面有所不同。
我的解决方案 ("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 中我这样打开网站 (solution/project):
文件 > 打开网站...
然后我打开 IIS > EMS
执行此操作时,我没有在 "project" 下看到任何文件 - 在解决方案资源管理器中可见的只是解决方案和项目名称 - 在它们下面没有子文件夹或文件。但是当我右击解决方案"customerreportingnet"和select"Open Web Site",然后回复OK到"Open the Web site (this will close the current solution)"一切都比较好-我可以右击项目("http://localhost/EMS/customerreportingnet/"), select 在浏览器 (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,还是这只是一个奇怪的问题,但不是问题?
如果是这样,是否就像更改 属性 值一样简单,还是会把事情搞砸?
Is it a bad idea for my solution and project to be stored in separate locations?
A solution 是项目的 "container"。它们在本地文件系统中的位置并不重要。所以在这种情况下,它是 "fine"。
由一些 "projects you did before" 组成的解决方案上下文并不罕见。因此,您可以 "organize" 一个 "new" 解决方案,该解决方案由位于其他地方的项目(来自其他 "solution")以及新项目组成。
但是,一旦你进入
Source Control
,无论是TFS
还是GIT
,那就很重要了- 它们(解决方案中的项目)必须位于同一个父文件夹中才能轻松处理。所以在这种情况下,它是 "bad".TLDR;仍然有一些方法可以有效地进行源代码控制 "projects in different folders" - 每一个都是独立的 "repository"。但是您必须 manually/separately 进行同步、合并等
如果我正确地关注了你的 post,我认为你正在寻找的是 Add...
,而不是 Open...
- 你想添加一个 现有项目或网站 到解决方案。
取决于您的追求,以及您要处理的文件:
- 如果压缩文件中有
Project
,那么你可以Add Existing Project
,依此类推...
不确定为什么需要执行在 IIS 中所做的操作 - 您可以在 Visual Studio (IIS Express) 中进行调试。
或者,您可以从 Visual Studio Publish
您的网站 site/application 并定位一个本地文件系统文件夹,然后您可以在 IIS(如果安装了本地 IIS)中设置 - 这样,您的本地计算机中有一个 "dev" (VS) 和 "staging"(在 IIS 中映射的发布文件夹)环境。
第...
提取代码并在 visual studio 中打开项目后。
Visual studio打开项目会自动生成一个解决方案文件(也可以直接打开解决方案文件)。单击 save all
或保存解决方案文件后,它会将其保存到以前的位置或默认位置。
由于您之前没有保存文件,visual studio会将其保存到默认位置:
C:\Users\cshannon\Documents\Visual Studio 2013\Projects\[ProjName]\[ProjName].sln
如果您希望其他开发人员能够轻松打开您的项目。 (特别是当您开始在 1 个解决方案中拥有多个项目时),您希望将解决方案文件包含在项目位置中。否则每个开发人员都必须自己创建这个解决方案文件,这是一项烦人且繁琐的工作。
自 dotnet core 以来,最佳实践文件结构是这样的:
/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
是因为最近项目的根目录已经有很多(配置)文件,这样您可以使根目录更干净一些。