小编kay*_*eck的帖子

找出所有DLL的依赖关系?

我有一个DLL集合(比如20).如何找出一个特定DLL(比如DLL A)所依赖的所有DLL?

c# assemblies .net-assembly

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

在Visual Studio 2015中覆盖Intellisense颜色

我正在使用Light主题和自定义文本编辑器颜色.在Visual Studio 2015中,我的Intellisense和其他灯泡/悬停/弹出窗口都具有与文本编辑器设置匹配的代码颜色.

这听起来不错,但Light主题背景非常浅灰色,我更喜欢编辑器中纯文本的白色前景色.最终结果如下: 在此输入图像描述

从我到目前为止的调查...

在以前版本的Visual Studio中,这种彩色化的Intellisense功能来自Productivity Power Tools插件.它可能会被关闭.那没有安装.它现在内置在Visual Studio中,我找不到一个可以关闭它的地方.

我真的不想搞乱主题编辑器.我只想要黑色文本Intellisense,或者至少在弹出窗口中将白色文本变为黑色.其他人说它不适用于Intellisense,但我不确定.

我已将工具>选项>环境>字体和颜色>编辑器工具提示>纯文本前景色设置为黑色.这就是为什么代码下的单词是黑色的.但这不会影响代码引用本身.

intellisense color-scheme visual-studio-2015

21
推荐指数
3
解决办法
6770
查看次数

使用C++检索Windows中的CPU负载百分比

我一直在研究这个工具,以快速记录一些系统统计信息,如内存信息和CPU负载百分比(如任务管理器中显示的那样).我似乎有内存和日志记录部分,但计算CPU百分比非常困难:(我已经找到了很多关于检查CPU信息的方法的信息,但在摘要之外几乎没有任何代码示例我发现编译,或者评论很好,所以我很难找到一种方法来实现这一点.我已经阅读了很多关于获取CPU时序的stackoverflow问题,但我还没有能够把碎片放在一起.

也许我错过了这一点,但似乎一种流行的方式来解决这个问题是通过查询CPU两次,每次检查之间至少200ms,以帮助避免出现问题......解决问题?是的!我怎么做到这一点?:(我在语法上挑战D:

我将分享我的源代码,以便您可以看到到目前为止我到底做了什么.这只是一个.cpp,我正在使用VS2013 Express for C++,而且它仅适用于多核CPU的Windows.

提前警告:我很抱歉代码中的所有注释:x此外,如果您复制此代码并运行它,它将生成一个名为log.CSV的.CSV文件

//included libraries/functionality for input/output
#include <iostream>
#include <fstream>
#include <windows.h>
using namespace std;

//creates a static variable to convert Bytes to Megabytes
#define MB 1048576


//main program code loop
int main()
{
    //Code block intiialization for the memory referenced in the Kernell
    MEMORYSTATUSEX memStat;
    memStat.dwLength = sizeof (memStat);
    GlobalMemoryStatusEx(&memStat);


    //loads the SYSTEMTIME
    SYSTEMTIME sysTime;
    //Retrieves data so that we have a way to Get it to output …
Run Code Online (Sandbox Code Playgroud)

c++ windows cpu-usage visual-studio-2013

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

调试Qt信号,插槽和连接

有没有办法看到哪些信号被触发,以及是否有连接到它们的插槽?理想情况下,我们希望看到所有信号,而不仅仅是特定类或方法的信号; 例如,QSignalSpy只允许我们跟踪特定实例的特定信号.

在我们的应用程序中,由于信号从不同组件发出两次,我们已经看到了性能问题.最后,事实证明,有一个类的第二个实例应该只有一次.知道发出哪些信号确实有助于调试.

信号通过QMetaObject::invoke*,我希望找到一些东西可以挂钩,但我没有发现任何明显的东西.

c++ qt qt4 signals-slots

14
推荐指数
2
解决办法
7755
查看次数

使用WiX Toolset时,将值设置为0时,注册表项不会更新

用于MSI的WiX工具集未使用其预期数据更新注册表键值.如果缺少k:v,则添加它.如果k:v的数据设置为0,它会完全忽略它,这是这里的实际问题(我认为)

基本目标是在安装之前验证此注册表项值与预期数据值是否存在,如果必须添加/更新密钥,则会触发重新启动提示.

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
    <Product Id="*" Name="SampleInstaller" Language="1033" Version="1.0.0.0" Manufacturer="ACME" UpgradeCode="cf6248e9-d7da-4996-9b8e-90072e8510f6">
        <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Platform="x64"/>
        <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
        <Feature Id="ProductFeature" Title="SampleInstaller" Level="1">
            <ComponentGroupRef Id="ProductComponents" />
        </Feature>    
    </Product>

    <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder64">
        <Directory Id="INSTALLFOLDER" Name="SampleInstaller" />
      </Directory>
    </Directory>
    <Property Id="VKB_QUERY_HKCU" Secure="yes">
      <RegistrySearch Id="VkbVisibleHkcu"
            Win64="yes"
            Type="raw"
            Root="HKCU"
            Key="Software\Microsoft\TabletTip\1.7"
            Name="TipbandDesiredVisibility"/>
    </Property>
    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
      <Component Id="ShowVKB_Registry_HKCU" Guid="{97AB4B1D-C9C8-4B34-9328-FF8CA3ED8992}" Directory="INSTALLFOLDER">
        <RegistryKey Id="VKB_Registry_Key_HKCU" Root="HKCU" Key="Software\Microsoft\TabletTip\1.7" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="no">
          <RegistryValue Id="VKB_Registry_Value_HKCU" Action="write" Type="integer" Name="TipbandDesiredVisibility" Value="1"/> …
Run Code Online (Sandbox Code Playgroud)

registry windows-installer wix msiexec windows-10

7
推荐指数
1
解决办法
672
查看次数

如何打包 .NET Standard NuGet 包而不重建它?

如何打包在 CSProj 文件中具有 Nuget 规范的 .NET Standard NuGet 包而不重建它?

\n\n

我有一些自动化需要在构建步骤和打包步骤之间运行,这些自动化与构建过程本身分离,并且不应该是与任何项目相关的构建事件。

\n\n

当我尝试使用 nuget CLI 时,它失败并显示以下内容:

\n\n

Error NU5012: Unable to find \'bin\\Debug\\LibraryNuGetExample\\bin\\Debug\\\'. Make sure the project has been built.

\n\n

这没有任何意义,因为那不是构建输出文件夹!正确的输出文件夹是bin\\Debug\\**——我不明白为什么它要寻找我没有在任何地方指定的目录映射。

\n\n

我尝试使用这个,但它重建了,我绝对不想要;只是nuget pack

\n\n

MSBuild LibraryNuGetExample.csproj /t:pack

\n\n

所以我要么需要知道如何,

\n\n
    \n
  1. 使用 MSBuid 仅打包而不构建具有某些当前未知选项的包
  2. \n
  3. 使用具有当前未知选项的 NuGet CLI 来打包它
  4. \n
  5. 我还没有考虑过其他一些聪明的事情:)
  6. \n
\n\n

LibraryNuGetExample.csproj

\n\n
<Project Sdk="Microsoft.NET.Sdk">\n\n  <PropertyGroup>\n    <TargetFrameworks>uap10.0;net45</TargetFrameworks>\n    <PackageId>LibraryForNuGetExample</PackageId>\n    <Authors>user name</Authors>\n    <Company>ACME</Company>\n    <Product>Library For NuGet Example</Product>\n    <Description>A test package to test …
Run Code Online (Sandbox Code Playgroud)

nuget nuget-package nuget-spec .net-standard

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

是什么原因引起“无法解析的外部符号IID_ICallbackWithNoReentrancyToApplicationSTA”错误?

只是谷歌搜索或duckduckgo'ing

未解析的外部符号 IID_ICallbackWithNoReentrancyToApplicationSTA

仅产生一个直接命中,甚至对报告问题的人员都没有帮助,因此我希望一些C ++ / WinRT人员遇到此问题。

虽然不能共享所有源(大量交织的专有文件),但可以共享场景和代码更改的细目分类。而且,几乎没有IID_ICallbackWithNoReentrancyToApplicationSTA任何地方提及。巧合的是,它在GitHub上出现了一些Kenny Kerr的东西。我遇到问题的项目是C ++ / WinRT项目,因此这似乎是一个相关的陷阱,尤其是因为其中提到的xlang部分应该是C ++ / WinRT的抽象。

方案:一个Core UAP C ++ / WinRT应用程序/服务正在使用C ++ / WinRT库。尝试在构建应用程序/服务时使用库创建的库时,构建会中断。

代码更改:我在库中实现了一些PPL任务,特别是一些任务,concurrency::task<void>对由应用程序/服务使用的C ++ / WinRT库中使用的新线程执行一些I / O。这是一个std :: thread,它使用lambda来获取对象的副本并执行I / O。像这样:

std::thread writer([content_vector, json_string, content_file_name, json_file_name]() {
        auto write_content = Helper_IO::Overwrite_Lines_Concurrent(content_file_name, content_vector);
        auto write_json = Helper_IO::Overwrite_File_Concurrent(json_file_name, json_string);
        write_content.get();
        write_json.get();
    });
Run Code Online (Sandbox Code Playgroud)

Helper_IO::Overwrite_*_Concurrent 都是静态的并且都返回一个 concurrency::task<void>

我尝试使用writer.detach()writer.join(),但结果是相同的。

ppl c++-winrt

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