我有一个Visual Studio解决方案.目前,它是一个空的解决方案(=没有项目),我添加了一些解决方案文件夹.
解决方案文件夹似乎只是"虚拟文件夹",因为它们实际上并不是在文件系统中创建的,而解决方案文件夹中的文件只是与.sln文件位于同一文件夹中.
是否有一个我忽略的设置告诉Visual Studio将解决方案文件夹视为"真正的"文件夹,即在文件系统中创建它们并将文件移动到其中一个文件夹中时将文件移入其中?
编辑:谢谢.要为VS2010提出建议然后:)
Mic*_*ael 42
有一种解决方法,实际上表现如预期.
完成.现在,解决方案资源管理器将反映文件系统中的任何更改,反之亦然(包括子文件夹).
我(小姐)将它用于规范,文档,PM和团队内共享的一些DevOps脚本.它很容易选择,包括在源代码控制中的内容,以及(如果设置正确)它与构建不冲突.
我知道该功能不适用于该用例,但除了可能具有误导性的"项目"图标之外,我还没有发现该黑客的任何短缺.并且仍然存在VS提供的经典(虚拟)解决方案文件夹的用例,适合图片.你怎么看?
小智 40
没有特别的设置.我认为它不受支持.
您可以在解决方案中的"项目"中创建真实文件夹,但不能在解决方案本身中创建.
Ode*_*ode 25
在Visual Studio 2017中,单击"解决方案资源管理器"窗口中的"解决方案和文件夹"图标.此按钮从虚拟"解决方案"视图切换到与文件系统上的文件夹和文件的布局相匹配的"源视图".添加新文件夹时,将在预期位置物理创建该文件夹.
.
Arm*_*and 10
您只需将新的解决方案文件夹嵌套级别和名称与实际的文件系统文件夹同步即可,它的工作方式就像一个魅力!
萨拉福特贡献了一个宏来增加这一点.在Visual Studio 2010中,如果打开宏资源管理器,您将看到一个名为"GenerateSlnFolderOnDirStructure"的宏.这将自动创建解决方案文件夹并添加文件.
选择的答案表明可以使用实际项目而不是解决方案文件夹,但实际上并没有解释如何使用。我想我在这里描述的可能是实现该目标的最不尴尬的方式... :-P
常规项目文件的问题在于它们最终将由编译MSBUILD。而且,如果您想要一个仅包含不可编译文件的项目,那将是一个问题。
但是一段时间之前,Visual Studio引入了一种新的项目类型:共享项目(扩展名为.shproj)。默认情况下,不会编译该项目类型,而仅在(且仅当)另一个项目引用它时才进行编译。
因此,这里技巧的一部分是使用共享项目而不是解决方案文件夹。很显然,可以添加一个从未被任何其他项目引用的共享项目,这意味着我们可以避免上面提到的问题。
然后,通过使用<None Include="**/*" />.shproj文件中的子句,我们可以使其自动反映所有新文件和/或子文件夹。
所以基本上做到这一点:
例如,以我为例,我创建了一个DockerDev.shproj,因此我可以将一些仅在开发机器中运行的与Docker相关的脚本分组:
<?xml version="1.0" encoding="utf-8"?>
<!-- DockerDev/DockerDev.shproj -->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<None Include="**/*" />
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
这.shproj文件将保持跟踪的任何文件,在任何新的子文件夹DockerDev在我的解决方案文件夹。
据我所知,此解决方案的工作原理与OP所要求的非常相似:它将作为对文件夹的不可编译的引用而工作,并且将自动反映对其所做的任何更改。
小智 7
文件夹到解决方案文件夹 作者 Cecilia Wirén - CeciliaSHARP
消除将多个文件添加到解决方案文件夹的麻烦。只需使用解决方案的上下文菜单,就在创建新解决方案文件夹的选项下方,您现在可以找到“将文件夹添加为解决方案文件夹”。这将创建一个与您选择的名称相同的解决方案文件夹,并将该文件夹内的项目添加到解决方案文件夹中。这不会移动磁盘上的文件。
对于Visual Studio 2019 中的 C#,我使用了这种方式(似乎与此答案类似,但至少在 C# 解决方案中不起作用)
switch viewsfolder viewswitch views再次单击并选择解决方案。...只需打开包含多个项目的解决方案,然后尝试通过文件夹视图将项目移动到其他一些真实文件夹。问题是 VS 不会更新解决方案文件中项目的路径
| 归档时间: |
|
| 查看次数: |
42989 次 |
| 最近记录: |