小编Q-b*_*uit的帖子

无法加载 UI 卫星 dll 'FileTracker32UI.dll'

我遇到了无法在 Visual Studio 中构建新创建的 C++/CLI 类库项目的问题:

在此处输入图片说明

即使我没有进行任何更改,我在尝试编译时也会收到错误消息:

在此处输入图片说明

严重性代码描述项目文件行抑制状态错误无法加载 UI 附属 dll 'FileTracker32UI.dll'。确保它存在于“C:\Program Files (x86)\MSBuild\14.0\bin\”的 LCID 子目录中。TestProject c:\Users\abcde\documents\visual studio 2015\Projects\TestProject\TestProject\FileTracker 1

我过去曾在同一台计算机上使用 Visual Studio 2015 创建 C++/CLI 类库项目,但没有遇到此问题。知道出了什么问题吗?

c++-cli visual-studio visual-studio-2015

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

无可用服务器时的 Serilog 和 seq

当使用 Serilog 和 Seq 的应用程序找不到将日志发送到的服务器时,预期的行为是什么?每次尝试记录都会抛出异常吗?

我希望我的应用程序使用 Seq 服务器(如果可用),但如果不可用,仍继续运行并记录到文件。

在此输入图像描述

c# seq serilog

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

互斥和死锁

这里询问有关互斥锁的问题之后,我被警告死锁.

我下面放在一起的例子是否是避免死锁的合理方法?

class Foo
{
public:
    Foo();

    void Thread();

    int GetWidgetProperty();
    int GetGadgetProperty();

private:

    Widget widget_;
    Gadget gadget_;

    VDK::MutexID widgetLock;
    VDK::MutexID gadgetLock;
};


Foo::Foo()
    : widget_(42)
    , gadget_(widget_)
{
    widgetLock = VDK::CreateMutex();
    gadgetLock = VDK::CreateMutex();
}

void Foo::Thread()
{
    while(1)
    {
        VDK::AcquireMutex(widgetLock);
        // Use widget
        VDK::ReleaseMutex(widgetLock);

        VDK::AcquireMutex(widgetLock);
        VDK::AcquireMutex(gadgetLock);
        // use gadget
        VDK::ReleaseMutex(widgetLock);
        VDK::ReleaseMutex(gadgetLock);
    }
}

int Foo::GetWidgetProperty()
{
    VDK::AcquireMutex(widgetLock);
    return widget_.GetProp();
    VDK::ReleaseMutex(widgetLock);
}

int Foo::GetGadgetProperty()
{
    VDK::AcquireMutex(widgetLock);
    VDK::AcquireMutex(gadgetLock);
    return gadget.GetProp();
    VDK::ReleaseMutex(widgetLock);
    VDK::ReleaseMutex(gadgetLock);  
}
Run Code Online (Sandbox Code Playgroud)

由于调用GetGadgetProperty可能导致使用小部件,我猜我们还需要在这里用锁来保护我们自己.我的问题是,我是否要求并以正确的顺序发布它们?

c++ mutex deadlock

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

在 winforms 应用程序中更改按钮图像大小

我试图使按钮上的图标变小,但我不知道如何。

在此处输入图片说明

图像的大小变灰。

在此处输入图片说明

知道如何解决这个问题吗?

c# winforms

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

如果只有std :: auto_ptr可用,我还应该使用智能指针吗?

我目前正在处理的项目使用不支持C++ 11的旧编译器,因此没有unique_ptr或shared_ptr可用.

我应该使用现在已弃用的auto_ptr,还是应该完全放弃使用智能指针?

c++ smart-pointers

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

获取没有 DI 的 Serilog 记录器的实例

我有一个没有依赖注入的控制台应用程序,它使用 log4net。我正在尝试用 Serilog 替换 log4net。

这与 log4net 的设置方式很接近:

using log4net;
using log4net.Config;
using System;
using System.IO;
using System.Reflection;

namespace LoggingDemo.Log4Net
{
    class Program
    {
        private static readonly ILog log = LogManager.GetLogger(typeof(Program));
        static void Main(string[] args)
        {
            var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
            XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config"));
            log.Debug("Starting up");
            log.Debug("Shutting down");
            Console.ReadLine();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在其他类中,通过设置获取记录器 private static readonly ILog log = LogManager.GetLogger(typeof(Program));

Serilog 设置如下:

using Serilog;
using System;

namespace LoggingDemo.Serilog
{
    class Program
    {
        static void Main(string[] args)
        {
            Log.Logger = new LoggerConfiguration() …
Run Code Online (Sandbox Code Playgroud)

c# .net-4.0 serilog

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

比较 .NET 中最小 API 和基于控制器的 API 的大小

与基于控制器的经典方法相比,ASP.NET Core 6 最小 API 是否应该创建更小的应用程序?

来自微软文档

最小 API 的架构旨在创建具有最小依赖性的 HTTP API。它们非常适合仅在 ASP.NET Core 中包含最少文件、功能和依赖项的微服务和应用程序。

但是,当您在 Visual Studio 中创建两个默认应用程序(一个是最小应用程序和一个基于控制器的应用程序)并发布应用程序时,它们的大小几乎相同。作为依赖于框架的应用程序发布,两者最终都只有 4 MB 左右。

我在这里错过了什么吗?我希望最小的 API 会更小。

c# asp.net-core minimal-apis

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

在名称中声明一个带有作用域解析运算符的指针

我试图在双链表上查看本教程. http://www.dreamincode.net/forums/topic/53161-how-to-create-a-basic-double-linked-list/

我无法理解这一部分

  element* list::FirstEl = NULL;    //This initialises the static element* 'FirstEl' to  NULL  
  element* list::LastEl = NULL;     //This initialises the static element* 'LastEl' to  
Run Code Online (Sandbox Code Playgroud)

我会说这段代码创建了一个名为"list :: FirstEl"的类型元素的指针并将其设置为null,但是范围解析运算符让我觉得C++中还有一些我还没有涉及的东西.

这里发生了什么?

c++

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

私有静态类成员

当我们声明一个成员变量static时,它在该类的所有实例之间共享.我听说你应该想到属于类本身的变量,而不是任何实例.这让我们初始化变量而不实例化类的任何对象,这是有道理的.

class Something
{
  public:
    static int s_nValue;
};

int Something::s_nValue = 1;
Run Code Online (Sandbox Code Playgroud)

但是为什么我们允许初始化私有静态成员?

class Something
{
   private:
      static int s_nValue;
};

int Something::s_nValue = 1;
Run Code Online (Sandbox Code Playgroud)

当我们谈论静态成员时,私人甚至意味着什么?

c++

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

显式模板特化错误

这个应该很容易.我正在玩模板,但得到编译器错误.

#include <iostream>

template <class T1, class T2>
class Pair
{
    private:
        T1 a;
        T2 b;
    public:
        T1& first();
        T2& second();
        Pair(const T1& aval, const T2& bval) : a(aval), b(bval) {}
};

template <class T1, class T2>
T1& Pair<T1,T2>::first()
{
    return a;
}


template <class T1, class T2>
T2& Pair<T1,T2>::second()
{
    return b;
}

// Explicit Specialization
template <>
class Pair<double, int>
{
    private:
        double a;
        int b;
    public:
        double& first();
        int& second();
        Pair(const double& aval, const int& bval) : …
Run Code Online (Sandbox Code Playgroud)

c++ templates

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