我需要读FileVersion一个可执行文件.问题是我在磁盘上没有实际文件,只有一个字节数组.FileVersion API只有一个GetVersionInfo(string fileName)方法,它没有任何从文件中获取版本的方法.
我尝试使用反编译器查看源代码,但它看起来比简单的复制/粘贴更复杂.
有没有办法读取FileVersion文件,因为我有文件内容的字节,而不将文件写入磁盘?
我需要为我的分布式计算类开发一个应用程序,它有一个中央服务器和多个图形客户端.我正在考虑为此尝试WCF,因为我已经熟悉使用Windows Forms或WPF制作.NET独立桌面应用程序.
由于我以前从未使用过WCF,因此我尝试按照MSDN上发布的教程进行操作,该教程将服务契约定义为其第一个主要步骤.*部分内容涉及创建一个WCF服务库项目,该项目应该是可用的作为我选择的语言下的模板(我将在这里使用C#).但是,我没有在新项目对话框中看到此项目模板作为选项列出,并且在搜索栏中查找WCF不会返回任何结果.
如何使此项目模板可用于Visual Studio 2017?
*应该注意的是,教程提到它是用Visual Studio 2012编写的.从那以后我有什么改变,就教程而言我应该知道吗?
我有一个Excel文件,需要处理复选框.复选框的名称是用法语自动定义的(由于我的安装是法语).例如"Caseàcocher100"而不是"Checkbox 100".
但是,当我们的兄弟公司使用这个Excel文件时,由于它们的安装是英语而崩溃.
有没有办法为英语和法语做以下工作?
ActiveSheet.CheckBoxes("Case à cocher 488").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 383").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 467").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 461").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 460").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 459").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 458").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 8").Interior.Color = RGB(255, 255, 255)
Run Code Online (Sandbox Code Playgroud)
我似乎无法找到重命名复选框名称的方法.
首先,我对 NuGet 还是很陌生。我在工作中开发了许多内部 C# 桌面应用程序,它们之间共享了一些通用代码。我一直在从使用项目引用切换到创建私有 NuGet 包并将它们托管在位于共享网络文件夹中的本地源中。我现在只研究了几天,但到目前为止我已经成功地将我的一些库项目转换成包并在其他项目中使用它们。
问题是,虽然我可以在依赖它们的其他解决方案中使用这些包提供的代码,但我没有获得 IntelliSense 支持或在包本身内进行调试的能力。事实证明,只有组装好的 DLL 分布在普通包中,根据我从网上搜索收集到的信息,我还需要创建包含 IntelliSense 和调试所需文件的符号包。
当仅使用网络共享文件夹作为本地提要时,我该如何做到这一点 - 同时使用常规包和符号包?许多在线答案都建议使用单独的符号服务器。但是,我无法将此代码公开发布到 symbolsource.org,而且我目前无法从我的雇主那里获得一台服务器来托管(这消除了 NuGet.Server、ProGet 等解决方案)。我正在寻找的可能吗?
我已经看过关于创建符号包和本地提要的官方文档,以及这个相关的问题。但这些都没有我正在寻找的信息。
编辑:通过记住在构建时打开 XML 文档生成,我确实获得了对我的包代码的 IntelliSense 支持,使用来自这个问题的信息。不过,仍然不确定调试支持。
我刚刚学习Python,我正在尝试让一个窗口全屏显示,我已经实现了,但我现在想去掉顶部的标题栏。它目前看起来如下图所示,但我希望它也能覆盖顶部的 Mac 顶部工具栏(如启动屏幕)。
from tkinter import *
root = Tk()
root.attributes('-fullscreen', True)
root.attributes('-topmost', True)
root.overrideredirect(True)
def quitApp():
# mlabel = Label (root, text = 'Close').pack()
root.destroy()
# placing the button on my window
button = Button(text = 'QUIT', command = quitApp).pack()
Run Code Online (Sandbox Code Playgroud) 我目前有两个项目的解决方案设置:
MySolution
- MyClassLibrary
- MyClassLibrary.Tests
Run Code Online (Sandbox Code Playgroud)
MyClassLibrary项目作为NuGet包分发.测试项目包含我目前未与NuGet包一起分发的所有单元测试.
问题是在MyClassLibrary中,我的一个类接受一个IMyRepository作为构造函数参数(允许依赖注入).然后,我在MyClassLibrary.Tests项目中设置了一个名为IMyRepositoryTests的抽象测试类设置.目的是当你编写自己的IMyRepository实现时,你可以编写一个简单地继承自IMyRepositoryTests的测试类,并传入你的具体类的实例,所有测试都将为你完成.
所以结构看起来像这样:
Solution
- MyClassLibrary
-- MyServiceClass(IMyRepository repository)
-- IMyRepository
- MyClassLibrary.Tests
-- MySericeClassTests
-- IMyRepostoryTests (abstract)
Run Code Online (Sandbox Code Playgroud)
问题是测试项目没有与NuGet包一起分发,所以如果有人想要对他们具体的IMyRepository实现进行单元测试,他们将不得不编写自己的所有测试,这些测试(1)不会利用我已经为他们编写的测试代码和(2)可能不符合我对IMyRepository的规范.
如果我将IMyRepositoryTests移动到MyClassLibrary项目,那么该项目将依赖于我的单元测试框架(Xunit和Moq).这为没有进行单元测试的人增加了不必要的依赖关系.
如果我使用NuGet包发送测试项目,那么我会创建相同的问题,而且看起来像使用单元测试发送NuGet包似乎不是标准做法.
我可以将Tests项目作为单独的NuGet包发布,但这看起来也很奇怪.
我还缺少其他选择吗?
我正在编写一个Bash脚本,它可以在Linux上自动执行安装过程.有一次,我需要进入一个Python文件,该文件用作正在安装的应用程序的配置文件,并将两个特定变量的值更改为新值.换句话说,假设我有一个包含(注:一个.py文件"apple",并"orange"可能会发生变化):
# Some code here
a = "apple"
b = "orange"
# Rest of file
Run Code Online (Sandbox Code Playgroud)
我总是需要改变这些值来明确 "banana"和"pear":
# Some code here
a = "banana"
b = "pear"
# Rest of file
Run Code Online (Sandbox Code Playgroud)
如何使用Bash自动执行此更改?
c# ×3
.net ×2
nuget ×2
python ×2
arrays ×1
bash ×1
checkbox ×1
excel ×1
excel-vba ×1
file ×1
fullscreen ×1
localization ×1
macos ×1
python-2.7 ×1
tkinter ×1
unit-testing ×1
vba ×1
version ×1
wcf ×1
zip ×1