Visual Studio 2015解决方案资源管理器不刷新文件?

时间:2015-08-03 15:02:01

标签: visual-studio-2015

当我更换磁盘上的文件时,我的Visual Studio 2015解决方案资源管理器不会刷新,并且(据我所知)没有刷新按钮了。

在资源管理器中,一切看起来都应该如此,并且在执行我的“刷新”后,所有文件中的方法再次显示。

到目前为止我的解决方案:

  1. 卸载并重新加载项目
  2. 刷新Visual Studio
  3. 使用gulp运行构建时,这尤其令人讨厌,这是添加,更改和删除文件。

    我错过了一些明显的东西吗?

    聚苯乙烯。它与选项“显示所有文件”无关。它不会显示为“透明”未包含文件。

4 个答案:

答案 0 :(得分:15)

单击解决方案资源管理器顶部的显示所有文件图标。然后,您可以选择要包含在项目中的文件。

Solution Explorer screenshot

见答案:

Refresh button in Visual Studio Solution Explorer not working

答案 1 :(得分:2)

我已经为了弄清楚如何做到这一点而大打耳头,答案是我认为Visual Studio不会处理这种情况。

我所做的是一种解决方法而不是最佳解决方案,但我会在此处发布,以防它可能有所帮助。

您可以触发Visual Studio注意文件更改,如下所示:

  • 在Visual Studio外部添加或删除文件时,请触摸项目文件
  • Visual Studio会注意到这一点并弹出一个确认对话框,询问您是否要重新加载项目
  • 单击Reload / Reload All,重新加载项目,现在解决方案资源管理器中显示文件修改

我使用两个节点包。 Chokidar观看文件系统事件,touch触摸项目文件

Chokidar很好,您可以设置要观看的文件和文件夹,要忽略的内容等等。触摸提供了非常简单的方法来更改文件的时间戳。

这是一个可以调整以满足您需求的工作代码示例:

var chokidar = require('chokidar');
var touch = require("touch");

console.log("Starting - Initial files are ignored");

var projectFile = "C:\\projects\\GitHub\\testing-touch\\TestingTouch\\TestingTouch.csproj";                   

var watcher = chokidar.watch('C:\\projects\\GitHub\\testing-touch\\TestingTouch\\tests', {
  ignored: /[\\/\\]\./,
  ignoreInitial: true,
  persistent: true  
});

var log = console.log.bind(console);

watcher
  .on('add', function(path) {
    log('File', path, 'has been added');
    touch.sync(projectFile, { time: new Date(), force: false });
  })
  .on('change', function(path) { log('File', path, 'has been changed'); })
  .on('unlink', function(path) { log('File', path, 'has been removed'); })
  // More events.
  .on('addDir', function(path) { log('Directory', path, 'has been added'); })
  .on('unlinkDir', function(path) { log('Directory', path, 'has been removed'); })
  .on('error', function(error) { log('Error happened', error); })
  .on('ready', function() { log('Initial scan complete. Ready for changes.'); })
  .on('raw', function(event, path, details) { log('Raw event info:', event, path, details); })

// 'add', 'addDir' and 'change' events also receive stat() results as second
// argument when available: http://nodejs.org/api/fs.html#fs_class_fs_stats
watcher.on('change', function(path, stats) {
  if (stats) console.log('File', path, 'changed size to', stats.size);
});

此解决方法的负面影响是您必须设置文件观察程序,并且您需要单击恼人的确认对话框。

答案 2 :(得分:0)

在尝试将预先存在的'assets'文件夹添加到Visual Studio 2015中的Web项目时,我也处于类似情况。

  1. 右键单击解决方案资源管理器中的项目项,然后创建一个新文件夹,例如'资产'

  2. 在Windows资源管理器中,将要传输的文件夹的内容拖到VS Solution Explorer窗口中的新“assets”文件夹中,然后等待复制过程完成。

  3. 单击解决方案资源管理器顶部工具栏上的“显示所有文件”图标。您应该看到您的文件夹结构,包括您需要的文件。

  4. 突出显示文件/文件夹,右键单击并选择“包含在项目中”。

  5. 这对我有用,我希望它可以帮助任何有同样问题的人。

答案 3 :(得分:0)

“视图”标签底部有一个刷新选项。