我们有自己的Visual Studio包,包含自定义语言和调试器。 除非附加到的apppool的属性“enable 32-bit applications”设置为true,否则调试器根本不起作用。
但为什么?
配置如下:
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{37269d10-8717-49b5-b00a-312a87e63785}</ProjectGuid>
<OutputType>Library</OutputType>
<TargetPlatform>v2</TargetPlatform><FileUpgradeFlags></FileUpgradeFlags><OldToolsVersion>3.5</OldToolsVersion><UpgradeBackupLocation></UpgradeBackupLocation><TargetFrameworkVersion>v4.5</TargetFrameworkVersion><TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
答案 0 :(得分:0)
表达式计算器需要在64位进程中运行。一个好方法是创建一个独立的64位版本的EE库,远程调试器代理可以引用它。 64位EE工厂的COM类应在HKCR\\CLSID
下注册。您目前使用相同的guid在<vsroot>\\CLSID
下注册32位EE工厂,并在<vsroot>\\AD7Metrics\\ExpressionEvaluator\\{x}\\{y}\\
下注册CLSID的值,如上所述here。