Powershell文件观察器不会拾取Visual Studio中的文件更改

时间:2018-04-10 14:09:02

标签: visual-studio powershell visual-studio-2017 database-project file-watcher

我有一个PowerShell进程,它监视SQL文件(在数据库项目中),然后在文件更改时触发操作。基本设置如下。

$global:SQLFileWatcher = New-Object IO.FileSystemWatcher $rootFolder, $sqlFilter -Property @{ 
         IncludeSubdirectories = $true
         NotifyFilter = [IO.NotifyFilters]'LastWrite'
   }

   $onSqlCreated = Register-ObjectEvent $global:SQLFileWatcher Changed -SourceIdentifier SqlFileChanged -Action {
    #Only called when a new file is added to DB project
    Write-Host "HERE"
}

在更改已在Visual Studio数据库项目中创建的现有文件时,它不会触发文件观察程序,就好像LastWrite时间未更新一样。如果我打开Notepad ++并编辑,这可以正常工作。此外,如果我添加一个新的SQL文件(到数据库项目),那么它会在创建时触发文件观察器事件以及该文件的任何更新,这是最奇怪的部分。

为什么不更新现有文件的文件属性,只更新新文件?或者,更好的问题可能是:是否有更好的NotifyFilter设置可以代替" LastWrite"?

0 个答案:

没有答案