【发布时间】:2012-12-29 05:24:24
【问题描述】:
我是 Visual Studio 和 C# 的新手。我习惯于使用 XCode 和 Objective-C,但现在我正在尝试编写一个 Windows 8 应用程序。当用户单击我的应用程序中的按钮时,我正在尝试设置FileSystemWatcher,但由于某种原因,Visual Studio 拒绝识别我可以这样做并引发错误。这是我写的一个示例:
using System;
using System.IO;
...
namespace My_APP
{
...
public sealed partial class MainPage : My_App.Common.LayoutAwarePage
{
...
public void button_click_1(object sender, RoutedEventArgs e)
{
FileSystemWatcher watch = new FileSystemWatcher();
}
}
}
FileSystemWatcher 两次都用红色下划线显示错误:Error 1 The type or namespace name 'FileSystemWatcher' could not be found (are you missing a using directive or an assembly reference?) 我做错了什么(我确信这非常简单)。
【问题讨论】:
-
因为
FileSystemWatcher不包含在用于 Windows 8 应用程序的 .NET 版本中。如果受支持,您会在 MSDN 页面的版本信息部分看到“.NET for Windows Store apps, Supported in: Windows 8”。 -
我想知道这是否可能是因为您正在尝试构建 Metro 应用程序,并且 FileSystemWatcher 需要完全信任。我认为安全模型存在一些问题,导致应用无法在 FullTrust 模式下运行。
-
@mikez 您不妨将其添加为答案,因为这就是 OP 所面临的。 Windows 应用商店应用程序使用完全不同的 API,它都是异步的,并且对资源的访问受到限制。如果您知道替代方案(怀疑是否存在),您可以提出建议。
-
@Will 对。就个人而言,我不认为这是一个“答案”,因为我无法提供任何建议或替代方案。
-
@mikez "No" 和任何解释一样好。
标签: c# visual-studio visual-studio-2012 microsoft-metro filesystemwatcher