0

我在这里有一个 WPF C# 应用程序,终于解决了错误。但是在我运行程序之后,它可以工作,只是有 7 个警告,我不知道它是关于什么的。我需要知道它是否会对我的项目造成任何问题..

警告:

  1. CA2214:Microsoft.Usage:“PoseViewModel.PoseViewModel()”包含一个调用链,该调用链导致调用该类定义的虚拟方法。查看以下调用堆栈以了解意外后果:

    PoseViewModel..ctor() ViewModelBase.get_IsInDesignMode():Boolean PoseViewModel.set_IsTracking(Boolean):Void ObservableObject.RaisePropertyChanged (Expression>):Void

  2. CA2000:Microsoft.Reliability:在方法“SpeechController.InitSpeechRecognition()”中,对象“<> g_initLocal()”并未沿所有异常路径进行处理。在对象'<>g _initLocal()' 的所有引用超出范围之前调用 System.IDisposable.Dispose。

  3. CA1901:Microsoft.Portability:正如您在代码中声明的那样,P/Invoke 'NativeWrapper.mouse_event(uint, int, int, int, int)' 的参数 'dwExtraInfo' 在 64 位平台上将是 4 字节宽。这是不正确的,因为此 API 的实际本机声明表明它在 64 位平台上应该是 8 字节宽。请参阅 MSDN 平台 SDK 文档以帮助确定应使用什么数据类型而不是“int”。

  4. CA1401:Microsoft.Interoperability:更改 P/Invoke 'NativeWrapper.SetCursorPos(int, int)' 的可访问性,使其不再从其程序集外部可见。

  5. CA1401:Microsoft.Interoperability:更改 P/Invoke 'NativeWrapper.mouse_event(uint, int, int, int, int)' 的可访问性,使其不再从其程序集外部可见。

  6. CA1060:Microsoft.Design:因为它是一个 P/Invoke 方法,所以应该在名为 NativeMethods、SafeNativeMethods 或 UnsafeNativeMethods 的类中定义“NativeWrapper.SetCursorPos(int, int)”。

  7. CA1060:Microsoft.Design:因为它是一个 P/Invoke 方法,所以应该在名为 NativeMethods、SafeNativeMethods 或 UnsafeNativeMethods 的类中定义“NativeWrapper.mouse_event(uint, int, int, int, int)”。

帮助!

4

2 回答 2

2

看起来您为项目启用了代码分析。这些警告主要是为可重用框架设计的,但如果需要,最好分析它们并修复它们。

于 2012-05-16T03:56:08.523 回答
0

所以......这就是警告。它们不是错误,只是警告。该应用程序可以运行,但代码的某些部分对于 Visual Studio 来说是可疑的。只需尝试修复它们以确保您生产的产品的质量。

例如,第二个似乎非常重要。

于 2012-05-16T03:39:34.507 回答