首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VSPackage中的文件监视程序

VSPackage中的文件监视程序
EN

Stack Overflow用户
提问于 2015-05-08 07:17:53
回答 1查看 250关注 0票数 1

我是在Visual中开发的新手,所以我希望我的问题不是太愚蠢:-)我尝试在我的VSPackage中建立一个VSPackage来检测在当前解决方案中执行的任何更改。为此,我找到了类FileWatcher,在我看来,它检测任何文件更改。但是我代码中的任何内容都一定是错误的,因为没有任何事件被触发。也许你能帮我?

我想看的解决方案是D:\Test,但是输入特定的路径没有帮助

代码语言:javascript
复制
class Watcher
{
    FileSystemWatcher watcher = new FileSystemWatcher();

    [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
    public void StartWatching()
    {
        Debug.WriteLine("in watcher method");
        watcher.Path = @"D:\\"; 
        watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
           | NotifyFilters.FileName | NotifyFilters.DirectoryName;

        watcher.Changed += new FileSystemEventHandler(OnChanged);
        watcher.Created += new FileSystemEventHandler(OnChanged);
        watcher.Deleted += new FileSystemEventHandler(OnChanged);
        watcher.Renamed += new RenamedEventHandler(OnRenamed);

        watcher.EnableRaisingEvents = true;
    }

    private static void OnChanged(object source, FileSystemEventArgs e)
    {
        Debug.WriteLine("Changes in folder:" + e.FullPath);
    }

    private static void OnRenamed(object source, RenamedEventArgs e)
    {
        Debug.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);
    }

    private static void OnDeleted(object source, RenamedEventArgs e)
    {
        Debug.WriteLine("deleted");
    }

    private static void OnCreated(object source, RenamedEventArgs e)
    {
        Debug.WriteLine("created");
    }
}

在我的VSPackage的初始化方法中,我调用:(“initialize方法”显示在输出中,因此这个部分应该可以工作)

代码语言:javascript
复制
 watch = new Watcher();
        watch.StartWatching();

提前给你开坦克!

编辑

我发现,测试环境的路径发生了变化。但是现在我遇到了一个问题,就是我无法获得更改文件的名称,因为更改事件只给我.opensdf或.sdf

你能帮帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-08 13:17:11

您可以使用Visual:SolutionEventsProjectItemEvents提供的内置事件,而不是亲自查看文件更改。这个堆叠溢出柱解释了如何在vs包中使用它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30118008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档