Tag: visual studio 2010

如何从资源中复制文件?

我有一个嵌入式资源文件,例如: file.exe如何在目录中复制,例如: c:\ ? 点击按钮谢谢

当所述线程正在执行Console.ReadLine时,如何在.NET中中止另一个线程?

我的控制台应用程序正在执行一个完全专注于用户界面的线程,它在Console.ReadLine()上花了很多时间阻塞(这个调用花费时间深入Windows的内部,在.NET的控制范围之外)框架)。 我需要中止这个post。 但是,以下代码似乎不起作用: this.UserInterfaceThread.Abort(); 有任何想法吗? Thread.Interrupt()会有用吗? 更新 正如汉斯帕斯特所指出的: 当CLR中止时,CLR对线程的状态施加了相当明智的规则。 Thread.Abort()的危险是众所周知的,当然不能可靠地工作就是中止正在执行非托管代码的线程。 调用Console.ReadLine()时就是这种情况,该线程深埋在Windows操作系统代码中。 解决方案是简单地将[enter]键击到当前运行的控制台应用程序中,该应用程序取消阻止Console.ReadLine(),以便线程立即中止。 我们不能使用SendKeys,因为这是特定于Windows窗体,它还需要当前窗口具有焦点。 解决方案是使用inputsimulator.codeplex.com上的库来封装Windows SendInput()调用。 请参阅示例代码: .NET调用将[enter]击键发送到当前进程,这是一个控制台应用程序?

更新entity framework模型

我刚开始使用EF并发现它很酷,但我遇到了一个问题, 问题: 我更改了表User中的列的数据库模式,之前是Varbinary(50)然后我将其更改为VarChar(50),然后在MyModel.edmx设计器中我选择了“从数据库更新模型”,点击完成后我收到了这个错误。 错误: 2019年错误:指定的成员映射无效。 ‘LearnDBModel.User’类型中成员’Email’的类型’Edm.Binary [Nullable = False,DefaultValue =,MaxLength = 100,FixedLength = False]’与SqlServer.varchar不兼容[Nullable = False,DefaultValue =, MaxLength = 50,Unicode = False,FixedLength = False]’成员’Email’,类型为’LearnDBModel.Store.User’。 让我知道如何解决它

T4模板和运行时参数

我正在VS 2010中构建一个插件,我陷入了T4代。 现在我已经实现了(比如MSDN建议的)一个自定义T4主机来生成我的T4结果,并且我以这种方式使用它: const string content = @”c:\Simple.tt”; var engine = new Engine(); var host = new MyTemplateHost(); var result = engine.ProcessTemplate(File.ReadAllText(content), host); foreach (CompilerError error in host.Errors) { Console.WriteLine(error.ErrorText); } 这有效,直到我在模板中传递参数。 一旦我在.tt文件中创建了一个参数,主机就会说它不知道如何解决它。 我看到你可以使用TemplateSession来做到这一点,但我没弄明白如何将它传递给我的主机? 是否有更好的方法使用C#从.tt生成代码并在运行时传递参数? 也许我走错了路。

变量’variable_name’要么未声明,要么从未分配过

我有一个与标题错误有关的问题。 我正在使用c#和Visual Studio 2010。 我有一个声明为“公共类FormularioGeneral:Form”的表单,它是我的应用程序中其余表单的基础。 当我尝试访问Designer视图时,我会多次出现此错误,如图所示: 所有错误都引用InitializeComponent方法中的行,其中值被赋值给像这样的属性: […] this.PanelMargenIzquierdoCapaBase.BackColor = m_ColorCapaBase; […] 但是所有变量都在与只读属性相同的类中声明,并且所有变量都在构造函数中调用的方法内分配。 财产声明: protected Color m_VariableName; public Color VariableName { get { return m_VariableName; } set { } } 构造函数代码: public FormularioGeneral() { ConfigurarUI(); AccionesConstructor(); InitializeComponent(); PostInicializacionComponentes(); EstablecerIcono(); InicializarLocalizacionFormulario(); } ConfigurarUI方法: public virtual void ConfigurarUI() { […] m_AltoBordeSuperiorCapaBase = 30; m_AltoBordeInferiorCapaBase = 7; m_AnchoBordesLateralesCapaBase […]

在调试/单步执行中检查变量时,函数评估超时

在调试/单步执行代码时,我尝试检查监视中的变量,每次内部变量说明函数评估超时都会出错。 有谁知道这是为什么以及如何避免它? 因为它影响了我调试代码的能力。 这是在VS2010 Premium内。

使用Visual Studio 2010创建XML模式并使用它自动生成可序列化类

我正在尝试使用visual studio 2010创建一个XML模式进行序列化/去保护,但是看起来非常复杂有一个xml文件和另一个xml模式文件,我没有得到它应该如何完成。 我记得在visual studio 2005中,通过创建xml文件并使用xml设计器打开它然后绘制模式,然后从模式中生成可序列化代码,它变得更加简单。 任何有助于使用Visual Studio 2010专业人员进行相同操作的提示/链接。

嵌入资源的名称

在c#中,嵌入式资源名称的默认行为是这样的 在不更改项目的默认命名空间的情况下,我可以控制嵌入资源的名称吗?

unit testing项目不是从构建服务器构建的

我的VS2010解决方案中有一个测试项目。 unit testing自己引用以下命名空间: using Microsoft.VisualStudio.TestTools.UnitTesting; 通过我的PC上的以下程序集访问: Assembly Microsoft.VisualStudio.QualityTools.UnitTestFramework C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 当我在我的PC上构建解决方案时,我没有任何问题; 测试将构建并运行正常。 我们有一个内部网页面,我们可以用它来启动构建服务器上的构建。 当我通过此页面构建时,构建失败并出现以下错误: Generator.cs(3,17): error CS0234: The type or namespace name ‘VisualStudio’ does not exist in the namespace ‘Microsoft’ (are you missing an assembly reference?) 显而易见的问题是上面提到的Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll在构建服务器上不存在。 我认为这将与VS2010一起安装,并且由于我的解决方案中的项目构建了.NET 4.0目标,我希望这将安装在构建服务器上。 解决这个问题的最简单方法是什么? 构建服务器不在我的管辖范围内,我并不特别想记录一个作业来安装新的库。

密封关键字会影响编译器对强制转换的意见

我有一种情况,我希望编译器的行为解释。 给出一点代码: interface IFoo { T Get(); } class FooGetter : IFoo { public int Get() { return 42; } } 以下编译并运行: static class FooGetterGetter { public static IFoo Get() { return (IFoo)new FooGetter(); } } 如果我们更改Foo类的签名并添加sealed关键字: sealed class FooGetter : IFoo // etc 然后我在以下行得到编译器错误: return (IFoo)new FooGetter(); 的: 无法将类型’MyNamespace.FooGetter’转换为’MyNamespace.IFoo ‘ 有人可以解释一下有关sealed关键字的问题吗? 这是针对Visual Studio 2010中的.NET […]