Tag: visual studio

如何在Visual Studio 2008“Pro”中执行性能分析

微软制作了一款名为“Visual Studio 2008 Professional”的软件。 我发现似乎没有应用程序性能分析器或类似的东西,使它看起来不那么“专业”。 如果Microsoft不包含探查器,那么Visual Studio 2008的时间分析的第三方选项是什么? 免费是更可取的,因为这是为了学生目的:P

Visual Studio将类的所有属性转储到编辑器中

好的,这里有一个为视觉工作室提供了许多方便的小插件的人,或者可以帮助按键序列。 假设我有一个Person类: class Person { string Name { get; set; } int Age { get; set; } } 而且我正忙着快​​乐地编码。 我经常会遇到需要为该类的所有属性赋值的情况,或者将属性的所有值分配给其他属性。 public override void CopyTo(Person myPerson) { myPerson.Name = “XXX”; myPerson.Age = 11; } 我想生成这个部分: myPerson.Name myPerson.Age 即只需将myPerson的所有属性转储到一个小列表中。 在Visual Studio编辑器中。 我安装了resharper,我快速浏览了一个专门做这个的实用程序,但我找不到一个。 有人可以帮忙吗?

Symbol.WPAN.Bluetooth传输数据的示例

我正在尝试使用符号设备的EMDK附带的Symbol.WPAN.Bluetooth。 有没有人碰巧有一个传输数据的工作示例? Symbol的示例只是将设备配对。 (他们显然认为在个人区域网络示例中并不真正需要传输数据。) 无论如何,我知道这是一个很长的镜头,但如果有人让这个工作,我很乐意看到一些代码。 这就是我的尝试。 我有一个设备按下按钮1和另一个设备按下按钮2。 读取值始终为零长度字节数组。 using System.Text; using System.Windows.Forms; using Symbol.WPAN; using Symbol.WPAN.Bluetooth; namespace SmartDeviceProject1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Bluetooth bluetooth = new Bluetooth(); if (bluetooth.IsEnabled != true) { bluetooth.Enable(); bluetooth.RadioMode = BTH_RADIO_MODE.BTH_DISCOVERABLE_AND_CONNECTABLE; } RemoteDevice connectedDevice […]

C#如何调用参数数量未知的方法

我在这里达到了我的技能极限。 我甚至不知道这是否可行 – 但我希望是这样。 我正在制作一个命令处理程序(文本)。 对于每个Add()您可以指定所需参数的数量及其类型。 例如: void Add(string commandName, int requiredParameters, params Type[] paramTypes) { } Add(“test”, 2, typeof(string), typeof(int)); 所以一个示例命令是: /test hello 7 。 命令处理程序检查以确保类型是正确的,例如,如果第二个参数不能转换为int,它将失败。 现在我遇到的问题是我想在Add()传递一个方法。 (如果所有检查都通过,命令处理程序将调用此方法,并使用所需参数调用它)。 因此,所讨论的方法可以根据Add()传递的内容提供任意数量的参数。 我该如何实现这一目标? 代表不工作,抱怨参数不匹配。 我尝试过这样的事情: void Add(…, Action method) { } Add(…, new Action(cmd_MyMethod)); 但我必须为很多类型创建一个Add()方法。 例如, Add ,这也很难输入对Add()的调用。 我不想将该方法作为字符串调用,然后使用this.GetType().GetMethod()来获取它的句柄。 虽然这种方式是理想的,但是当我进行混淆时它会混乱。 有谁知道有任何方法可以做到这一点? 提前致谢。

是否可以在C#中的项目之间静态共享代码?

在C#中,是否有可能在Visual Studio项目之间共享代码而无需分发DLL? 我正在维护一些由几个Visual Studio C#项目组成的软件,每个项目都构建一个简单的控制台可执行文件。 我想搬出的项目之间有很多共享代码。 我相信我可以将代码放在类库项目中,但我宁愿避免使用DLL来分发每个可执行文件。 有没有办法解决? 我是C#的新手,所以也许我认为这一切都错了 – 有没有其他的建议?

无法在Visual C#2010 Express中访问构建配置管理器或构建配置

全文 通常,当我安装Visual C#2010 Express时,我要做的第一件事就是切换到专家设置。 这使我可以访问构建配置和相应的管理器。 这最近的装置似乎行为不端。 我创建的第一个项目是XNA 4.0(刷新)项目。 我导入了一些旧代码,切换到专家设置,并确认我能够访问构建配置管理器和构建配置工具栏。 但是,当我打开项目属性并切换到Build选项卡时,无法找到正常的Configuration和Platform下拉列表。 此外,即使Debug在工具栏/管理器中被选为活动状态,也明确使用了Release设置。 我尝试了从重新启动Visual Studio到手动编辑.csproj XML的所有内容 – 顺便说一下,它将Debug标记为活动配置:not Release。 有趣的是,无论构建配置的顺序如何,如果存在Release,那么这将是项目属性中实际处于活动状态的配置(未从工具栏的下拉列表中选择)。 请记住,出于某种原因,通常出现在项目属性页面上的下拉列表不存在。 没有运气,我在一个单独的解决方案中创建了两个新项目:一个控制台应用程序和一个WinForms应用程序。 这次,构建配置管理器甚至没有出现在Build菜单中,并且工具栏中的下拉列表被禁用,好像我甚至没有打开解决方案。 我进行了搜索和搜索,但是我找不到这种行为的解释或解决方案。 注意:我确实可以通过MSDN访问Visual Studio 2010,因此如有必要,升级是一种可行的解决方案。 TL;博士 是的,我已切换到专家设置。 Windows 8 Pro,最新 Fresh-ish Visual C#2010 Express安装 XNA 4.0刷新 问题 新的XNA项目: 切换构建配置对实际配置没有影响; 尽管如此,它始终坚持释放。 在项目属性 – > Build中,不存在构建配置/平台的下拉列表。 新的控制台/ WinForms项目: Build Configuration Manager不在Build菜单中。 构建配置工具栏已禁用下拉列表,并且未选择任何内容。 已经尝试过了 删除发布配置 效果:切换到调试 重新创建发布配置 效果:删除时切换到Debug,然后在重新创建时切换回Release […]

Hololens应用程序将不再构建 – 引用元数据文件丢失并且找不到c-Sharp.firstpass

我已遵循Microsoft在Microsoft Holographic – Academy教程中的多个项目下列出的确切步骤。 我完成了所有这些工作,所有这些工作都很好,从创建到导出和测试。 这是使用Unity3D / C#,它被编译成Visual Studio Solution(sln)文件。 在完成这些之后,我继续构建我自己的应用程序 – 它也构建得很好。 没问题! 现在,当我尝试构建时 – 我得到一个奇怪的错误,无法找到c-Sharp.firstpass文件(我所理解的导出/交叉编译的dll)。 现在,即使是成功构建的项目也不会再构建。 我将在下面粘贴确切的错误。 我尝试过的事情: 创建一个新项目并将所有以前的资产粘贴到其中 – 然后重建。 清理VS项目 重新启动我的电脑 重启Unity3D 卸载并重新安装Visual Studio(推荐版本) 卸载并重新安装Unity3D(推荐版本) 再次按照教程逐步完成 搜索StackOverflow并尝试每个解决方案,其问题与我的问题非常相似 问答Unity Answers(2天前) 将项目文件构建到不同的驱动器,文件夹,位置等。 不要放弃 似乎有一个引用问题 – 所以我也没有引用/引用上面提到的文件。 感谢您的帮助。 需要说明的是,这是为Microsoft Hololens开发的Windows 10 Universal应用程序。 但是,在这种情况下,设备本身似乎与构建过程几乎没有任何关系,除了定位它。 最好, Addyarb 错误: 命令“”D:\ Development \ Hololens Builds \ PlanetApp \ […]

未定义条件编译符号

我无法让Visual Studio按照我的预期行事。 我创建了2个配置文件。 一个定义了符号FOO,另一个定义了符号BAR。 我有这个代码: static class MyClass{ #if FOO public static string const MyData=”foo defined”; #endif #if BAR /*yes, I know #elif would work here too.. just trying to be simple*/ public static string const MyData=”bar defined”; #endif } 然后在我的另一个文件中 if(MyClass.MyData==”foo defined”)….. 好吧,在我的应用程序中,我收到一个错误,即没有定义MyClass.MyData。 另外,如果我在FOO配置文件中有它并在#if FOO之后键入#error test类的东西那么它会有一个构建错误,但如果我删除它会构建得很好并且当我去运行它时我会’ ll得到一个编译错误,MyClass不包含MyData的定义。 此外,这是一个ASP.Net Web应用程序。 有人可以帮我弄清楚如何使用条件编译吗? 它就好像Visual Studio使用编译符号正确编译它一样,但是每当ASP.Net网络服务器执行它时,它都会重新编译它而没有任何符号……但这只是没有任何意义,为什么它会这样做.. 编辑:如果我使用FOO或BAR配置文件并不重要,它们似乎都没有像它们那样定义MyData符号。 EDIT2: […]

扩展C#语言?

基本上我想知道的是,是否有任何方法可以在基于.net的语言中添加新的“语句”? 我正在寻找的一个例子就是引入一个public class MyClass decoratorOf ClassWithLotsOfMethods并在预编译时将其更改为普通类,默认情况下会覆盖所有内容,但我定义的方法。 另一个例子是.net 3.5自动属性或扩展方法等 这只是为了好玩,而不是我真的想要这样做,只是好奇,如果可能的话 谢谢! 西巴

使用x86但不是x64的Console.Writeline

我正在测试visual studio 2012中的一个项目。 当我在x86中运行我的代码时, Console.Writeline出现在输出窗口中。 但是,当我在x64中运行它时,它没有。 我知道我可以使用System.Diagnostics.Debug ,但我真的很想理解为什么Console.Writeline不工作,或者某个地方有设置。 谢谢。 编辑:观察:两个版本都禁用Visual Studio托管过程。 当我启用它时,所有Console.Writeline消息都显示为x64和x86。 当我再次禁用它时,只有x86显示Console.Writeline 。