首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Visual Studio对程序集签名时一个很不好用的地方

有了Visual Studio这个强大的IDE,程序集的签名工作很好实现——仅仅需要在Project的Properties对象框的Signing Tab中指定一个Key File就可以了。...但是,Visual Studio做得不够好。 一、Visual Studio会自作主张地在项目根目录下复制一个Key File ? 举个例子,假设一个解决方案中具有两个项目:Lib1和Lib2。...但是当你选中Key.snk这个文件的时候,Visual Studio并不会用将这个文件作为对本程序集进行签名的Key File,而是会自作主张地将该文件拷贝到Lib1所在的根目录下。...那么我们有没有办法让所有项目采用同一个Key File进行签名呢?当然有,不然我也不会写这篇文章了。总的来说,我们三种不同的解决方案。...为此,我们需要换一种思维:通过项目设置对象框对项目进行的所有设置最终都会反映在项目文件中(.csproj或者.vbproj)。

69390

WPF 判断一个对象是否是设计时的窗口类型,而不是运行时的窗口

当我们对 Window 类型写一个附加属性的时候,在属性变更通知中我们需要判断依赖对象是否是一个窗口。但是,如果直接判断是否是 Window 类型,那么在设计器中这个属性的设置就会直接出现异常。...那么有没有什么方法能够得知这是一个设计时的窗口呢?这样就不会抛出异常,而能够完美支持设计器了。 ---- 方法一:判断设计时属性 WPF 原生自带一个附加属性可以判断一个依赖对象是否来源于设计器。...在 WPF 的设计器中,这个属性会被设计器重写元数据,指定其值为 true,而其他默认的情况下,它的默认值都是 false。 所以通过判断这个值可以得知此时是否是在设计器中使用此附加属性。...不过,如果我们希望得到更多的设计器支持,而不是像上面那样直接 return 导致此属性在设计器中一点效果都没有的话,我们需要进行更精确的判断。...然而设计器中的类型我们不能直接引用到,所以可以考虑进行类型名称判断的方式。类型名称判断的方式会与 Visual Studio 的版本相关,所以实际上代码并不怎么好看。

34540
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在VisualStudio中提供运行时和设计时支持的WPF本地化解决方案

    在这种情况下,我还想: 在运行时切换区域设置——可自动更新所有得本地化元素 使用现有的可以在Visual Studio中维护的资源文件(**.resx files)。...来自MSDN页面的说明: “当您想用另一个对象替换当前绑定源对象并更新所有关联的绑定时,这个类也很有用。”...这意味着我们可以使用扩展的强类型资源发生器[^]在Visual Studio 2005和2008,或附带的PublicResXFileCodeGenerator工具Visual Studio 2008。...向项目中添加另一种区域设置的简单方法是复制和粘贴默认资源文件。在Visual Studio中创建一个新文件的resx文件。...在资源文件扩展名中添加区域性代码,如在Resources.Fr-fr.resx,在编译应用程序时,Visual Studio将使用它创建本地化的DLL。

    2K20

    实现用VB.Net(C#)开发K3 BOS 插件的真正可行方法

    、C#)开发的DLL是跑在.net CLR上的中间二进制字节码以及其他一些有自描述功能的元数据组成的,它不符合COM+规范,金蝶K/3及BOS都是用VB6开发而来的,EAS那就另当别论了,所以BOS插件说白了也是...VB6调用符合COM规范的DLL,它的原理就是在原程序里(宿主)先导入放在BOS插件上的dll然后直接Byref调用Public Sub Show(Byval XXX as Object) 来把需要编程的对象传递过来...Visual Studio提供了一个命令行工具,里面有一个叫regasm.exe的工具帮我们实现这个互通 命令有点汇编的那个masm!...] 打勾 并 一个snk签名 不设密码也可 5,进入VS tools 关键: 用regasm命令注册Net的dll D:/Documents and Settings/Administrator.../My Documents/Visual Studio 2008/Projects/BOS_ListEvent_PlugIns/BOS_ListEvent_PlugIns/bin/Release> regasm

    1.4K10

    如何在 C# 9 中使用record类型?

    仅init-only属性可用于使对象的各个属性不可变,而record可用于使整个对象不可变。 因为不可变对象不会改变它们的状态,所以在多线程和数据传输对象等许多用例中,不可变性是一个理想的特性。...在 Visual Studio 中创建控制台应用程序项目 首先,让我们在 Visual Studio 中创建一个 .NET Core 控制台应用程序项目。...假设您的系统中安装了 Visual Studio 2019,请按照下面概述的步骤在 Visual Studio 中创建一个新的 .NET Core 控制台应用程序项目。...在 C# 9 中使用 init-only 属性 init-only属性是那些只能在对象初始化时赋值的属性。请参阅以下包含 init-only 属性的类。...C# 9 中使用 with 表达式 如果某些属性具有相同的值,您可能经常希望从另一个对象创建一个对象。

    1.9K10

    如何在 C# 9 中使用record类型?

    仅init-only属性可用于使对象的各个属性不可变,而record可用于使整个对象不可变。 因为不可变对象不会改变它们的状态,所以在多线程和数据传输对象等许多用例中,不可变性是一个理想的特性。...在 Visual Studio 中创建控制台应用程序项目 首先,让我们在 Visual Studio 中创建一个 .NET Core 控制台应用程序项目。...假设您的系统中安装了 Visual Studio 2019,请按照下面概述的步骤在 Visual Studio 中创建一个新的 .NET Core 控制台应用程序项目。...在 C# 9 中使用 init-only 属性 init-only属性是那些只能在对象初始化时赋值的属性。请参阅以下包含 init-only 属性的类。...C# 9 中使用 with 表达式 如果某些属性具有相同的值,您可能经常希望从另一个对象创建一个对象。

    2.5K20

    Enterprise Library 3.1 介绍「建议收藏」

    配置编辑器与单独运行的配置控制台具有同样的功能,但是它使用 Visual Studio 属性窗口来显示应用程序块的属性,用错误列表来显示配置错误。整体上讲,配置编辑器和独立配置控制台都是配置工具。...它提供了下列好处: 它提供一个为业务对象定义验证规则的通用方法,以允许它们在应用程序中跨各层中使用。 它提供了一个通用验证规则类型集,以及让开发人员容易的定义自己的规则类型的能力。...一个策略是一系列处理程序的组合,处理程序在客户代码调用类的方法,以及带有基于属性的异常策略时执行,一系列的配置方法选择类和类成员(方法和属性)为应用程序块加上处理程序。...开发人员也可以创建自己的处理程序和策略,以实现几乎任何所需要的用于它们的对象的方法和属性的拦截处理。 更多信息,请参阅策略注入介绍。...转换一个无类型提供程序为一个类型化的 创建一个新的提供程序工厂和基类 创建一个新的设计时提供提供程序基节点 创建一个提供程序设计时节点 更多信息,请参阅应用程序块软件工厂文档 Trackback:

    79920

    编写通用 Hello World 驱动程序 (KMDF)

    驱动程序对象充当你可能在驱动程序中创建的所有其他框架对象的父对象,这些框架对象包括设备对象、I/O 队列、计时器、旋转锁等。 有关框架对象的详细信息,请参阅框架对象简介。...它的任务是初始化该设备的结构和资源。 在此示例中,你仅针对 EvtDeviceAdd 打印出了“Hello World”消息、创建了设备对象并返回。...在本练习中,我们选择调试和 x64。 在解决方案资源管理器窗口中,右键单击 KmdfHelloWorld,然后选择属性。 在 Wpp 跟踪 > 所有选项中,将运行 Wpp 跟踪设置为否。...Visual Studio 在输出窗口中显示生成进度。 (如果输出窗口不可见,请从视图菜单中选择输出。)验证解决方案已成功生成时,你可以关闭 Visual Studio。...在主计算机上,在 Visual Studio 中打开你的解决方案。 你可以在 KmdfHelloWorld 文件夹中双击解决方案文件 KmdfHelloWorld.sln。

    4.2K20

    总结 Visual Studio 2019 发布以来 XAML 工具的改进

    扩展了对 WPF 和 UWP 的设计时数据支持 d: 前缀用于设置设计时的属性值,它只影响设计视图,不会编译到正在运行的应用中。在以前,d: 前缀只支持有限几个功能,例如 d:DataContext。...现在所有内置控件的每一个属性都可以用 d: 前缀设置(将来还可能增加对第三方控件的支持)。 ? 5....在 Visual Studio 2019 中比较显著的改善是实时可视化树中的“仅我的 XAML”。...另外现在 Visual Studio 可以通过调试>附加到进程调试其它程序的实时可视化树和实时属性资源管理器,不过我不记得这是不是 2019 才有的新功能。...XAML 设计器建议的操作 最后一个是 XAML 建议的操作窗口,在 XAML 设计器中选中某个元素后,使用此功能可以轻松访问这个元素的主要属性。

    2.3K30

    .NET程序员必备的58个提高效率工具

    Visual Studio Visual Studio Productivity Power tool:Visual Studio 专业版(及以上)的扩展,具有丰富的功能,如快速查找,导航解决方案,可搜索的附加参考对话框等...在远程调试时,Visual Studio 运行在一台计算机(调试器主机)上,远程调试监视器运行与你正在调试的应用程序运行在一台远程计算机上。...T4 Text Template::在 Visual Studio 中,T4 Text Template 用作生成代码文件的模板。模板可以通过编写文本块和控制逻辑来定义。...LINQ Insight:LINQ Insight Express 是一个 Visual Studio 插件,它允许你在设计时分析你的 LINQ 查询,并简化了编写和调试 LINQ 查询。 7....文档 GhostDoc:GhostDoc 是一个 Visual Studio 扩展程序,自动生成类型、参数、名称及其他相关信息方法和属性的 XML 文档注释。

    4.1K60

    vs2015编写c#项目下各文件解析 vs项目结构解析vs项目结构解析

    Designer.cs 文件包含将控件拖动到窗体、在“属性”窗口中设置属性等操作时“窗体设计器”写入的源代码。通常,根本不应该手动编辑此文件。 2....,就会出现在Form1.cs里 其实在早期版本的Visual Studio里,是没有Form1.Designer.cs的,窗体的设计类和逻辑类全在一个文件里。...那么它究竟是给谁用的呢?那是给开发工具用的,例如我们在熟悉不过的Visual Studio,以及大家可以没有接触过,但是应该都听说过的MSBuild.exe。...4、bin文件夹  obj文件夹 Visual Studio 编译时,在bin 目录下有debug 和 release 目录。...二、不生成这些文件的方法:   不生成.vshost.exe文件的方法   如图,打开工程属性的debug标签页,将构成选为「Release」,去掉「Visual Studio Hosting Process

    3K52

    (翻译)LearnVSXNow!-#1 如何开始VSX开发?

    Visual Studio提供了功能允许我们去录制宏,宏可以访问的Visual Studio 2008的对象模型,并且可以很容易和和VS的命令融合,并提供非常有用的、自动化的属性值。...要成为一个非常专业的VS宏开发人员,你需要知道在宏后面的对象模型以及一些使用他们的方法。Visual studio 提供了一些例子。...最好的办法是自己录制一些宏然后查看其中的代码,你可以通过这些代码来增加你的对宏的掌握。 尽管宏对于任务自动化非常棒,但是它并不能用于创建全新的功能。...Visual studio Add-ins Add-ins具有更加强大的功能来扩展visual studio,因为它可以访问Visual studio 2008的所有对象模型并添加新的UI元素,...最直接的证据就是整个visual studio的功能就是建立在以Visual studio外壳(shell)为核心的扩展包上的。

    65720

    .Net 高效开发之不可错过的实用工具 工欲善其事,必先利其器,没有好的工具,怎么能高效的开发出高质量的代码呢?本文为各ASP.NET 开发者介绍一些高效实用的工具,涉及SQL 管理,VS插件,内

    Visual Studio Visual Studio Productivity Power tool: VS 专业版的效率工具。...ASPhere: Web.config 图形化编辑器 ComponentOne Studio for ASP.NET 一整套完备的开发工具包,用于在各种浏览器中创建和设计具有现代风格的Web应用程序...可以测试由不同语言写的.Net 语言脚本。 LINQ Insight: LINQ Insight Express 可嵌入 Visual Studio 中,能够分析设计时的LINQ查询 。...可以在Visual Studio 中使用,也可以集成到 MSBuild 项目。 FxCop: FxCop 是静态代码分析工具,能够通过分析.Net 程序集保证开发标准。...是 Visual Studio 扩展项,能够自动生成 方法或属性的 文档注释,包括它们的类型,名称,其他上下文信息。

    3.5K60

    制作一个基于Chrome内核的Wincc Web控件

    既然旧的IE内核与JS兼容性不好,那么有没有办法可以给它换个完美兼容JS的内核呢。西门子自带的控件肯定是不能用了,那么只能自己制作一个支持.NET控件来实现了。...新建Visual Studio项目 新建一个Windows窗体控件库项目,如下图所示。...安装CefSharp包 因为Visual Studio自带的WebBrowser控件也是基于IE内核,所以为了一劳永逸,我们需要安装一个支持Chrome内核的第三方包。...在Wincc中调用.NET控件 接着我们需要在Wincc中调用我们制作的控件,打开Wincc画面编辑器,在控件栏选择.NET控件,右键单击添加。选择名称为Visual Studio中项目名称的DLL。...备注:本文中所用的开发软件为:Visual Studio Community 2022 (64 位) Wincc7.4SP1+Upd16。

    91520

    【译】C# 11 特性的早期预览

    原文 | Kathleen 翻译 | 郑子铭 Visual Studio 17.1(Visual Studio 2022 Update 1)和 .NET SDK 6.0.200 包含 C# 11 的预览功能...您可以更新 Visual Studio 或下载最新的 .NET SDK 来获得这些功能。 查看帖子 Visual Studio 2022 17.1 现已推出!...——这意味着它具有可访问的 Length 或 Count 属性,并且具有 int 或 System.Index 参数的索引器。...我们决定不使用属性是因为它会如何影响代码的可读性,并且因为属性很少会像此功能那样影响程序的执行方式。 我们考虑并拒绝了对所有可空参数进行空检查的全局设置。参数空值检查强制设计选择如何处理空值。...总结 Visual Studio 17.1 和 .NET SDK 6.0.200 提供了对 C# 11 的早期了解。您可以在插值字符串的花括号(孔)内使用参数空检查、列表模式和新行。

    1.7K60

    如何使用 MSBuild Target(Exec)中的控制台输出

    但是,相比于 基于 Task 的方式,可控制的因素还是太少了。 有没有什么办法能够让控制台程序也能与 MSBuild Target 之间发生更多的信息交换呢?答案是有的,通过捕获控制台的输出!...---- 捕获控制台输出 如果你喜爱阅读文档,那么答案已经不陌生了,在微软的官方文档 Exec Task 中就已经提及了属性 ConsoleToMSBuild。...---- 参考资料 How get exec task output with msbuild - Stack Overflow Exec Task - Visual Studio - Microsoft...Docs Empty an MSBuild ItemGroup - Stack Overflow What’s New in MSBuild 15 - Visual Studio - Microsoft...Docs Item Element (MSBuild) - Visual Studio - Microsoft Docs 本文会经常更新,请阅读原文: https://walterlv.com

    2.1K10

    MultiRow发现之旅(一)- 高效模板设计器

    如果你用的是Visual Studio 2008 或者Visual Studio 2010,也许这个对话框中有太多的项而不太容易找到MultiRow的模板,那么你可以在左边选择Windows Forms...(抱歉:由于本人机器上只安装了Visual Studio 2010的英文版,所以截图都是英文的,但应该不妨碍大家理解。)...2、 你在设计器中的几乎所有对模板有影响的操作都能够撤销/重做(Undo/Redo),特别是通过“属性”窗口对Style的子属性进行的修改也可以撤销/重做。...· 你又有没有注意到鼠标移动到标尺上时,光标发生了变化?试试按下鼠标拖拽看看,放手后拖拽区域的所有Cell是不是都被选中了?...说明3:请确保你的VisualStudio是Visual Studio2005 SP1及以上的正式版本,MultiRow模板设计器无法工作在Visual Studio Express Edition上。

    1.3K80
    领券