为什么我在点击“解决方案资源管理器”中的刷新按钮时,Visual Studio不会刷新文件夹?

63

在Visual Studio 2008中,我可以在“解决方案资源管理器”中看到所有的项目文件,并且这些文件存在于实际目录中。

然而,如果我向该目录添加一个文件(比如,在App_Data文件夹中添加一个 test.sqlite 文件,或者说,通过其他程序创建的图像),那么这些文件就不会出现在我的“解决方案资源管理器”中,即使我点击刷新按钮也是如此。

如何让其他应用程序创建的文件出现在我的“解决方案资源管理器”中?

(目前,我必须将它们创建在其他地方,然后将它们复制并粘贴到“解决方案资源管理器”本身中,但肯定有更简单的方法)。


编辑:

这种“虚假解决方案视图”是否有优势?例如,我可以在我的App_Data目录中拥有一个名为“test.sqlite”的文件,但在我的解决方案中,它可能出现在我的根目录中。从Eclipse WYSIWYG解决方案资源管理器的思维方式来看,我看不出拥有关于实际文件的额外虚拟元信息的优点。您是否有一种方法可以从这个比喻中获得优势?

5个回答

134
在解决方案资源管理器的顶部有一个名为“显示所有文件”的切换按钮,点击后即可将所有文件包括在显示中,即使它们未被包含在项目中。这些文件的图标会变得略微灰暗。然后只需使用上下文菜单将其添加到项目中即可。

7
只有在选择了项目时才起作用,而不是选择了SLN本身。 - Gerrie Schenck
3
对的,您必须在项目内部。要么选择该项目,要么选择其中任何文件夹或文件。 - GeekyMonkey
1
右键单击 + “包括在项目中” - MonoThreaded
要包含“显示所有文件”,请转到项目->显示所有文件,然后右键单击文件->包含在项目中。 - user1207289
1
出现问题的时间间隔“刚好够长”,让我忘记如何修复它。 - Yatrix

9

在解决方案中,点击右键并选择“添加现有项”,然后从解决方案根目录中选择文件。解决方案现在将包含一个“解决方案项”目录,其中包含您的文件。该目录是虚拟的,因此不存在于磁盘上。

但是,解决方案没有像“显示所有文件”这样的功能,这仅适用于项目。


1
在“解决方案资源管理器”中,点击最右上角的图标(显示所有文件),你将看到该文件,然后右键单击该文件并选择:包含到项目中。

1
我遇到了同样的问题。我添加了新文件和文件夹,但下次从SVN获取最新源代码并打开项目时,它不会显示已添加的文件。
您可以执行以下步骤: 1. 解决方案资源管理器-> 显示所有文件 2. 最近添加的文件将显示在左侧没有[@]图标的位置。右键单击文件,选择包含在项目中 3. 如果您在Web文件夹下看到Web(Visual C# Project file (.csproj))配置文件,则会看到为这些新文件创建的条目。在svn中检查此配置文件。 4. 下次您获取存储库检出时,由于文件详细信息已添加到配置中,这将不会是一个问题。
希望这可以帮助您。

0

现在你可以使用TF命令行来完成这个任务。

  • 运行开发者命令提示符(从VS中是工具命令行开发者命令提示符;或者通常你可以在开始菜单的Visual Studio Tools文件夹下找到快捷方式)。
  • 导航到你的项目根目录(即你想要将所有内容同步到源代码控制的文件夹)
  • 运行tf add * /recursive来选择所有内容/将其全部推送到项目中。其他选项在tf文档中有记录。
  • 通过Team Explorer窗格的Pending Changes部分使用UI进行任何调整。
  • 检入你的更改

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接