小编Fer*_*hat的帖子

我的Visual Studio缺少Microsoft.VisualStudio.QualityTools.UnitTestFramework

我现在配置了一台新电脑.安装了VS 2010和所有必要组件,在新计算机上运行了我的运行项目..

编译项目向我显示VS 2010找不到引用"Microsoft.VisualStudio.QualityTools.UnitTestFramework".

此程序集位于Program Files(x86)\ Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies中

但VS无法找到它.

使用过的项目没问题.它可以在我的旧机器上编译!

编辑:编译时出错:错误CS0234:命名空间"Microsoft"中不存在类型或命名空间名称"VisualStudio"(您是否缺少程序集引用?)

C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9):警告MSB3245:无法解析此引用.无法找到程序集"Microsoft.VisualStudio.QualityTools.UnitTestFramework,Version = 9.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a,processorArchitecture = MSIL".检查以确保磁盘上存在程序集.如果您的代码需要此引用,则可能会出现编译错误.

reference visual-studio

10
推荐指数
1
解决办法
5万
查看次数

使用属性在C#中进行数据封装

目前我在思考C#中的数据封装,我有点困惑.几年前,当我开始用C++学习编程时,我的教授告诉我:"创建一个类并隐藏它的数据成员,所以它不能直接从外部操作"

示例:您正在解析XML文件并将解析后的数据存储到解析器类中的某些数据成员中.

现在,当我在看C#时.你有那里的财产.此功能使类的内部状态/内部数据对外可见.没有封装了.对?

private string _mystring;
public string MyString
{
  get {return _mystring;}
  set {_mystring = value;}
}
Run Code Online (Sandbox Code Playgroud)

从我的角度来看,将数据成员公开或具有公共属性(具有getter和setter)的公共属性与传递私有数据成员之间没有区别.

有人可以解释我吗?

谢谢

c# encapsulation properties member

6
推荐指数
1
解决办法
9788
查看次数

替换或修改外部应用程序中的 API 调用(GetOpenFileName、GetSaveFileName)

我有一个旧的应用程序,它调用 GetOpenFileNameA 和 GetSaveFileNameA。两个调用都是错误的。应用程序崩溃了!我使用 OllyDbg 和 API Monitor 来读取 OPENFILENAME 结构中存储的大小。该结构的大小为 76 字节(使用 Windows 7 x64 进行测试)。调用 GetOpenFileNameA 或 GetSaveFileNameA 时出现访问冲突异常。我假设在运行时 Windows 尝试读取 88 字节而不是 76 字节。看看这个: http: //dotnetbutchering.blogspot.de/2007/10/vc-60-getting-0xc0000005-access.html 和这个 http://www.asmcommunity.net/board/index.php?topic =5768.15

我做了一些研究,同时我发现了以下行为:运行 Microsoft Spy++ 时,应用程序不会崩溃!我单步执行调试器,发现访问冲突异常仍然发生,但不知何故,异常被吞没了。该应用程序运行良好!我可以加载和保存文件。

我有以下想法。你觉得他们怎么样?

  1. 写某事。就像 Loader.exe 一样,它的作用与 Spy++ 相同。调用两个 API 时吞掉访问冲突异常。

  2. 使用 DLL 注入和 API 挂钩。我可以将 GetOpenFileName 和 GetSaveFileName 与自定义 DLL 中的自定义实现挂钩。我的实现将修复该结构并将更正后的结构传递给原始 API 调用。

  3. 使用 SetWindowsHook 挂钩窗口消息?!?!?!

  4. 修补二进制文件。是否可以通过使用十六进制编辑器修补来解决此结构大小问题?

哪一个有效?您有更好的主意我该如何解决这个问题吗?

我无法获取这个旧应用程序的源代码。我必须使用现有的二进制文件来修复它。我的解决方案必须至少在 Windows XP 和 Windows 7(x86、x64)上运行

PEiD 工具向我显示了有关旧应用程序的以下信息:链接器信息:2.55 MS Visual C++ 4.0

c++ crash hook winapi .net-assembly

5
推荐指数
1
解决办法
1461
查看次数

如何隐藏FileUpload控件的"TextBox"?

在我的ASP.NET页面中,我使用的是"FileUpload"控件.整个事情已经实现并且按预期工作但是...我不希望TextBox控件是"FileUpload"的一部分.(FileUpload = TextBox + Button)

是否有可能只删除/隐藏TextBox并让Button看起来像LinkBut​​ton?

谢谢

asp.net textbox file-upload button hide

3
推荐指数
1
解决办法
2万
查看次数

我该如何等待BackgroundWorker?

我有一个方法Foo(),它创建并运行一个BackgroundWorker.
RunWorkerCompleted,ProgressChanged等被内部处理Foo().

我的主线程调用MyObject.Foo().
在调用MyObject.Foo()主线程调用之后MyObject.DoSthWithFooData().

主线程对BackgroundWorker内部一无所知MyObject.Foo().

如何强制主线程等到BackgroundWorker完成其工作?

DoSthWithFooData()必须在BackgroundWorkerin MyObject.Foo()完成其工作时调用.

c# synchronization backgroundworker

2
推荐指数
1
解决办法
1398
查看次数

gridviewcolumn中的复选框(标题)

我正在使用listview(gridview/gridviewcolumn),其中第一列仅包含每行的复选框.我没有添加全选按钮,而是将Checkbox添加到第一列的标题中.

选择标题中的复选框将选中所有其他复选框,反之亦然.

我怎么能在xaml中做到这一点?

更新:这是我的xaml代码的重要部分.(简化的)

<ListView ItemSource="...">
<ListView.View>
<GridView>

<GridViewColumn>
  <GridViewColumn.CellTemplate>
    <DataTemplate>
      <StackPanel Orientation="Horizontal">
         <CheckBox IsChecked="{Binding IsSelected}" />
      </StackPanel>
    </DataTemplate>
  </GridViewColumn.CellTemplate>
</GridViewColumn>

</GridView>
</ListView.View>
</ListView>
Run Code Online (Sandbox Code Playgroud)

c# wpf checkbox listview gridview

2
推荐指数
1
解决办法
6130
查看次数