You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移至.NET 8后dotTrace激活C++/CLI类型失败求助

.NET 8迁移后C++/CLI类型在性能分析器中激活失败问题

将企业应用从.NET Framework 4.8迁移至.NET 8后,使用dotTrace 2024.2.6进行性能分析时,激活C++/CLI类型会失败。搭建结构相似的最小复现示例后发现:保留ATL代码时dotTrace必现该错误,移除ATL代码则可正常运行,且ANTS性能分析器也出现相同问题。

项目结构与代码

1. Program.csproj 与 Program.cs

using System.Reflection;
var legacyDeploymentServerHostInstance = Assembly.LoadFrom("CppCli.dll").GetType("CppCli.CppCliType");
var baseType = Activator.CreateInstance(legacyDeploymentServerHostInstance!) as Library.CppCli.BaseType;
Console.WriteLine("Success");

2. Library.CppCli.csproj 与 BaseType.cs

namespace Library.CppCli {
    public interface BaseType : IDisposable {
    }
}

3. CppCli.vcxproj 相关代码

CppCliType.h

namespace CppCli
{
    public ref class CppCliType : public Library::CppCli::BaseType
    {
    public:
         CppCliType();
         ~CppCliType();
    };
}

CppCliType.cpp

#include "CppCliType.h"
#include <atlstr.h>
#include <iostream>

namespace CppCli
{
    CppCliType::CppCliType()
    {
        CString aCString = CString(_T("A string"));
        std::cout << (LPCTSTR)aCString;
    }

    CppCliType::~CppCliType()
    {
        System::Text::Json::JsonSerializer::Serialize(this);
    }
}

错误信息

致命错误。内部CLR错误。(0x80131506)
在 System.StubHelpers.StubHelpers.ProfilerBeginTransitionCallback(IntPtr, IntPtr, System.Object)
在 .ATL.CSimpleStringT<wchar_t,0>.{ctor}(ATL.CSimpleStringT<wchar_t,0>, ATL.IAtlStringMgr)
在 .ATL.CStringT<wchar_t,ATL::StrTraitATL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>.{ctor}(ATL.CStringT<wchar_t,ATL::StrTraitATL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>, Char)
在 CppCli.CppCliType..ctor()
在 System.RuntimeType+ActivatorCache.CallConstructor(System.Object)
在 System.RuntimeType.CreateInstanceDefaultCtor(Boolean, Boolean)
在 System.Activator.CreateInstance(System.Type, Boolean, Boolean)
在 System.Activator.CreateInstance(System.Type, Boolean)
在 System.Activator.CreateInstance(System.Type)
在 Program.$(System.String[])

内容的提问来源于stack exchange,提问作者Yola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 20:15:10