提交 baa43682 编写于 作者: K KevinRansom

Enable open source debugging for roslyn compilers and workspaces (changeset 1365131)

上级 0dca10d5
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
<StyleCopEnabled>false</StyleCopEnabled> <StyleCopEnabled>false</StyleCopEnabled>
<SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir> <SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages> <RestorePackages>true</RestorePackages>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="File References"> <ItemGroup Label="File References">
<Reference Include="System.Collections.Immutable, Version=1.1.32.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Collections.Immutable, Version=1.1.32.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
<TargetFrameworkProfile>Profile7</TargetFrameworkProfile> <TargetFrameworkProfile>Profile7</TargetFrameworkProfile>
<TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier> <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="Project References"> <ItemGroup Label="Project References">
<ProjectReference Include="..\..\..\Tools\Source\CompilerGeneratorTools\Source\CSharpSyntaxGenerator\CSharpSyntaxGenerator.csproj"> <ProjectReference Include="..\..\..\Tools\Source\CompilerGeneratorTools\Source\CSharpSyntaxGenerator\CSharpSyntaxGenerator.csproj">
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<StyleCopEnabled>false</StyleCopEnabled> <StyleCopEnabled>false</StyleCopEnabled>
<SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir> <SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages> <RestorePackages>true</RestorePackages>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="Project References"> <ItemGroup Label="Project References">
<ProjectReference Include="..\..\Core\Desktop\CodeAnalysis.Desktop.csproj"> <ProjectReference Include="..\..\Core\Desktop\CodeAnalysis.Desktop.csproj">
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
<StyleCopEnabled>false</StyleCopEnabled> <StyleCopEnabled>false</StyleCopEnabled>
<SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir> <SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages> <RestorePackages>true</RestorePackages>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="File References"> <ItemGroup Label="File References">
<Reference Include="..\..\..\..\packages\System.Reflection.Metadata.1.0.17-beta\lib\portable-net45+win8\System.Reflection.Metadata.dll" /> <Reference Include="..\..\..\..\packages\System.Reflection.Metadata.1.0.17-beta\lib\portable-net45+win8\System.Reflection.Metadata.dll" />
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
<TargetFrameworkProfile>Profile7</TargetFrameworkProfile> <TargetFrameworkProfile>Profile7</TargetFrameworkProfile>
<TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier> <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DefineConstants>TRACE;DEBUG;COMPILERCORE</DefineConstants> <DefineConstants>TRACE;DEBUG;COMPILERCORE</DefineConstants>
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<StyleCopEnabled>false</StyleCopEnabled> <StyleCopEnabled>false</StyleCopEnabled>
<SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir> <SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages> <RestorePackages>true</RestorePackages>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="Project References"> <ItemGroup Label="Project References">
<ProjectReference Include="..\..\CSharp\Desktop\CSharpCodeAnalysis.Desktop.csproj"> <ProjectReference Include="..\..\CSharp\Desktop\CSharpCodeAnalysis.Desktop.csproj">
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
<BoundTreeGeneratorToolPath>$(OutDir)\BoundTreeGenerator.exe</BoundTreeGeneratorToolPath> <BoundTreeGeneratorToolPath>$(OutDir)\BoundTreeGenerator.exe</BoundTreeGeneratorToolPath>
<SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir> <SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages> <RestorePackages>true</RestorePackages>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="Project References"> <ItemGroup Label="Project References">
<ProjectReference Include="..\..\Core\Desktop\CodeAnalysis.Desktop.csproj"> <ProjectReference Include="..\..\Core\Desktop\CodeAnalysis.Desktop.csproj">
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
<TargetFrameworkProfile>Profile7</TargetFrameworkProfile> <TargetFrameworkProfile>Profile7</TargetFrameworkProfile>
<TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier> <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
<ProjectTypeGuids>{14182A97-F7F0-4C62-8B27-98AA8AE2109A};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids> <ProjectTypeGuids>{14182A97-F7F0-4C62-8B27-98AA8AE2109A};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="Project References"> <ItemGroup Label="Project References">
<ProjectReference Include="..\..\..\Tools\Source\CompilerGeneratorTools\Source\VisualBasicSyntaxGenerator\VisualBasicSyntaxGenerator.vbproj"> <ProjectReference Include="..\..\..\Tools\Source\CompilerGeneratorTools\Source\VisualBasicSyntaxGenerator\VisualBasicSyntaxGenerator.vbproj">
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<LargeAddressAware>true</LargeAddressAware> <LargeAddressAware>true</LargeAddressAware>
<SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir> <SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages> <RestorePackages>true</RestorePackages>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="Project References"> <ItemGroup Label="Project References">
<ProjectReference Include="..\..\Core\Desktop\CodeAnalysis.Desktop.csproj"> <ProjectReference Include="..\..\Core\Desktop\CodeAnalysis.Desktop.csproj">
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
<AssemblyName>Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers</AssemblyName> <AssemblyName>Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers</AssemblyName>
<SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir> <SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages> <RestorePackages>true</RestorePackages>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="File References"> <ItemGroup Label="File References">
<Reference Include="..\..\..\..\packages\System.Collections.Immutable.1.1.32-beta\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll" /> <Reference Include="..\..\..\..\packages\System.Collections.Immutable.1.1.32-beta\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll" />
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
<AssemblyName>Microsoft.CodeAnalysis.FxCopAnalyzers</AssemblyName> <AssemblyName>Microsoft.CodeAnalysis.FxCopAnalyzers</AssemblyName>
<SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir> <SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages> <RestorePackages>true</RestorePackages>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="File References"> <ItemGroup Label="File References">
<Reference Include="..\..\..\..\packages\System.Collections.Immutable.1.1.32-beta\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll" /> <Reference Include="..\..\..\..\packages\System.Collections.Immutable.1.1.32-beta\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll" />
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<DocumentationFile>Microsoft.CodeAnalysis.VisualBasic.FxCopRules.DiagnosticAnalyzers.xml</DocumentationFile> <DocumentationFile>Microsoft.CodeAnalysis.VisualBasic.FxCopRules.DiagnosticAnalyzers.xml</DocumentationFile>
<SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir> <SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages> <RestorePackages>true</RestorePackages>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="File References"> <ItemGroup Label="File References">
<Reference Include="..\..\..\..\packages\System.Collections.Immutable.1.1.32-beta\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll" /> <Reference Include="..\..\..\..\packages\System.Collections.Immutable.1.1.32-beta\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll" />
......
此差异已折叠。
@echo off
setlocal
rem -----------------------------------------------
rem is batch executing with adiMistrator privileges
rem
rem -----------------------------------------------
set filename=%windir%\$%random%$
(@echo Hello, this is the administrator >%filename% ) 2> nul && (del %filename% & set elevated=1) || (set elevated=0)
if %elevated% == 0 (
echo This script requires an elevated command shell to run.
echo finished
goto :eof
)
if "%targetVS%"=="" set targetVS=14.0
if "%targetHive%"=="" set targetHive=Roslyn
set PreviewVersion=0.6.40308.1
set unconfigure=false
set verification=-Vr
set label=Disable
echo Prepare for Roslyn Open Source development
echo.
echo Create or clean the RoslynDev addin hive
echo.
if "%VSSDK140Install%" == "" (
echo ERROR! To build and debug the .Net compilers Open source projects requires the latest Visual Studio SDK.
echo.
set errorlevel=1
goto :eof
)
if /I "%1"=="u" (
set unconfigure=true
set verification=-Vu
set label=Enable
)
if not "%unconfigure%" == "true" (
set unconfigure=false
set verification=-Vr
set label=Disable
)
if not "%unconfigure%" == "true" (
"%VSSDK140Install%\VisualStudioIntegration\Tools\Bin\CreateExpInstance.exe" /Reset /VSInstance=%targetVS% /RootSuffix=%TargetHive% 2> nul
msbuild %~dp0\prepare.msbuild
)
call :DisableVerificationFor "Microsoft.CodeAnalysis.CSharp.Desktop,31BF3856AD364E35"
call :DisableVerificationFor "Microsoft.CodeAnalysis.Desktop,31BF3856AD364E35"
call :DisableVerificationFor "Microsoft.CodeAnalysis.VisualBasic.Desktop,31BF3856AD364E35"
call :DisableVerificationFor "Microsoft.CodeAnalysis,31BF3856AD364E35"
call :DisableVerificationFor "Microsoft.CodeAnalysis.CSharp,31BF3856AD364E35"
call :DisableVerificationFor "Microsoft.CodeAnalysis.VisualBasic,31BF3856AD364E35"
call :DisableVerificationFor "Microsoft.CodeAnalysis.Workspaces,31BF3856AD364E35"
call :DisableVerificationFor "Microsoft.CodeAnalysis.CSharp.Workspaces,31BF3856AD364E35"
call :DisableVerificationFor "Microsoft.CodeAnalysis.VisualBasic.Workspaces,31BF3856AD364E35"
call :DisableVerificationFor "Microsoft.CodeAnalysis.FxCopAnalyzers,31BF3856AD364E35"
call :DisableVerificationFor "Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers,31BF3856AD364E35"
call :DisableVerificationFor "Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers,31BF3856AD364E35"
call :DisableVerificationFor "CompilerPackage,31BF3856AD364E35"
call :DisableVerificationFor "FxCopRulesSetup,31BF3856AD364E35"
call :DisableVerificationFor "Roslyn.Compilers.BuildTasks,31BF3856AD364E35"
call :DisableVerificationFor "csc,31BF3856AD364E35"
call :DisableVerificationFor "vbc,31BF3856AD364E35"
call :DisableVerificationFor "VBCSCompiler,31BF3856AD364E35"
rem List skip verification entries
echo.
if exist "%WindowsSDK_ExecutablePath_x86%"sn.exe echo. && echo x86 verification Entries && "%WindowsSDK_ExecutablePath_x86%sn.exe" -q -Vl
if exist "%WindowsSDK_ExecutablePath_x64%"sn.exe echo. && echo x64 verification Entries && "%WindowsSDK_ExecutablePath_x64%sn.exe" -q -Vl
echo.
if "%unconfigure%" == "true" (
rem Reset the RoslynDev hive from the main hive,
"%VSSDK140Install%\VisualStudioIntegration\Tools\Bin\CreateExpInstance.exe" /Clean /VSInstance=%targetVS% /RootSuffix=%TargetHive% 2> nul
reg delete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\%targetVS%%TargetHive% /F > nul 2>&1
reg delete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\%targetVS%%TargetHive%_Config /F > nul 2>&1
)
goto :eof
:DisableVerificationFor %1
@echo %label% verification for %1
if exist "%WindowsSDK_ExecutablePath_x86%"sn.exe "%WindowsSDK_ExecutablePath_x86%sn.exe" -q %verification% %1
if exist "%WindowsSDK_ExecutablePath_x64%"sn.exe "%WindowsSDK_ExecutablePath_x64%sn.exe" -q %verification% %1
\ No newline at end of file
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- This file deals with enabling the Roslyn package in the Roslyn Hive -->
<Import Project="..\Targets\VSL.Settings.targets" />
<Import Project="..\Targets\VSL.Imports.targets" />
<!-- Update common properties -->
<!-- ====================================================================================
Enable Roslyn Package
==================================================================================== -->
<UsingTask TaskName="EnableExtension" AssemblyFile="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.Build.Tasks.dll" />
<ItemGroup>
<_VSIXId Include="0b5e8ddb-f12d-4131-a71d-77acc26a798f" /><!-- VisualStudioComponents VSIX GUID -->
<_VSIXId Include="28354cb8-c808-4138-bfce-33aa846bbd51" /><!-- Roslyn VisualStudioSetup VSIX GUID -->
<_VSIXId Include="8e2de189-1d7a-4bdb-9a15-fa0cb80e9450" /><!-- PreviewPackage VSIX GUID -->
<_VSIXId Include="fc8d0600-8f16-4a89-a49c-a4f6c38b216a" /><!-- CompilerPackage VSIX GUID -->
</ItemGroup>
<Target Name="Build" Inputs="@(_VSIXId)" Outputs="%(Identity).Dummy">
<EnableExtension
VsixIdentifier="%(_VSIXId.Identity)"
RootSuffix="$(DeployVSHive)"
FailIfNotInstalled="false" />
</Target>
</Project>
...@@ -3,9 +3,7 @@ ...@@ -3,9 +3,7 @@
<!-- This file is imported by all projects at the end of the project files --> <!-- This file is imported by all projects at the end of the project files -->
<PropertyGroup Condition="'$(OpenSourceDebug)' == 'true'"> <PropertyGroup Condition="'$(OpenSourceDebug)' == 'true'">
<DeployVSVersion>12.0</DeployVSVersion>
<DeployVSHive>Roslyn</DeployVSHive> <DeployVSHive>Roslyn</DeployVSHive>
<DeployToPackageFolders>true</DeployToPackageFolders>
<NonShipping Condition="'$(NonShipping)' == ''">false</NonShipping> <NonShipping Condition="'$(NonShipping)' == ''">false</NonShipping>
<AssemblyVersion>$(MajorRoslynVersion).0.0</AssemblyVersion> <AssemblyVersion>$(MajorRoslynVersion).0.0</AssemblyVersion>
<BuildVersion>$(MajorRoslynVersion).0.0</BuildVersion> <BuildVersion>$(MajorRoslynVersion).0.0</BuildVersion>
...@@ -114,28 +112,37 @@ ...@@ -114,28 +112,37 @@
</Target> </Target>
<!-- ==================================================================================== <!-- ====================================================================================
Deploy binary to 14.0 Package folders
===================================================================================== -->
<PropertyGroup>
<RoslynOssComponentPath>$(UserProfile)\AppData\Local\Microsoft\VisualStudio\$(VisualStudioVersion)$(DeployVSHive)\Extensions\MSOpenTech\OpenSourceDebug\0.7</RoslynOssComponentPath>
<TargetConfigFile>$(TargetPath).config</TargetConfigFile>
<TargetPdbFile>$(TargetDir)$(TargetName).pdb</TargetPdbFile>
<TargetRspFile>$(TargetDir)$(TargetName).rsp</TargetRspFile>
</PropertyGroup>
Deploy binary to Preview Package folders <Target Name="DeployToPreviewPackageFolders" Condition="'$(DeployToPackageFolders)' == 'true' and '$(VisualStudioVersion)' == '14.0'">
==================================================================================== -->
<Target Name="DeployToPreviewPackageFolders" Condition="'$(DeployToPackageFolders)' == 'true'">
<ItemGroup> <ItemGroup>
<FilesToCopy Include="$(UserProfile)\AppData\Local\Microsoft\VisualStudio\$(DeployVSVersion)$(DeployVSHive)\Extensions\**\$(TargetName)$(TargetExt)" /> <CopySources Condition="('$(TargetExt)' == '.dll' or '$(TargetExt)' == '.exe') and Exists($(TargetPath))" Include="$(TargetPath)"/>
<ConfigsToCopy Include="$(UserProfile)\AppData\Local\Microsoft\VisualStudio\$(DeployVSVersion)$(DeployVSHive)\Extensions\**\$(TargetName)$(TargetExt).Config" /> <CopySources Condition="('$(TargetExt)' == '.dll' or '$(TargetExt)' == '.exe') and Exists($(TargetPdb))" Include="$(TargetPdbFile)"/>
<FilesToDelete Include="$(UserProfile)\AppData\Local\Microsoft\VisualStudio\$(DeployVSVersion)$(DeployVSHive)\Extensions\**\extensions.$(PreferredUILang).cache;$(UserProfile)\AppData\Local\Microsoft\VisualStudio\$(DeployVSVersion)$(DeployVSHive)\ComponentModelCache\**\*.cache;$(UserProfile)\AppData\Local\Microsoft\VisualStudio\$(DeployVSVersion)$(DeployVSHive)\Extensions\**\extensionSdks.$(PreferredUILang).cache; $(UserProfile)\AppData\Local\Microsoft\VisualStudio\$(DeployVSVersion)$(DeployVSHive)\Extensions\**\vssqmmulti.dll;" /> <CopySources Condition="'$(TargetExt)' == '.exe' and Exists($(TargetConfigFile))" Include="$(TargetConfigFile)"/>
<CopySources Condition="'$(TargetExt)' == '.exe' and Exists($(TargetRspFile))" Include="$(TargetRspFile)"/>
</ItemGroup> </ItemGroup>
<Copy SourceFiles="@(CopySources)" DestinationFolder="$(RoslynOssComponentPath)" SkipUnchangedFiles="true" />
</Target>
<Message Text="Source: @(FilesToCopy->'$(OutDir)%(Filename)%(Extension)')"/> <PropertyGroup>
<Message Text="Config: @(ConfigsToCopy->'$(OutDir)%(Filename)%(Extension).Config')"/> <CompileDependsOn>$(CompileDependsOn);FakeSignAssembly</CompileDependsOn>
<Message Text="Dest: @(FilesToCopy)"/> <FakeSignToolPath>$(OutputPath)FakeSign.exe</FakeSignToolPath>
<Message Text="Delete: @(FilesToDelete)"/> </PropertyGroup>
<!-- ====================================================================================
<Copy SourceFiles="@(FilesToCopy->'$(OutDir)%(Filename)%(Extension)')" DestinationFiles="@(FilesToCopy)" /> FakeSign Assembly
<Copy SourceFiles="@(ConfigsToCopy->'$(OutDir)%(Filename)%(Extension)')" DestinationFiles="@(ConfigsToCopy)" /> ===================================================================================== -->
<Delete Files="@(FilesToDelete)" /> <Target Name="FakeSignAssembly" Condition="'$(NeedsFakeSign)' == 'true'">
<Exec Command="$(FakeSignToolPath) $(IntermediateOutputPath)$(TargetFileName)"/>
</Target> </Target>
<!-- ==================================================================================== <!-- ====================================================================================
Support for a IncludeInVSIXLocalOnly Content metadata Support for a IncludeInVSIXLocalOnly Content metadata
......
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\..\..\packages\Microsoft.Net.ToolsetCompilers.0.7.4090503-beta\build\Microsoft.Net.ToolsetCompilers.props" Condition="Exists('..\..\..\..\packages\Microsoft.Net.ToolsetCompilers.0.7.4090503-beta\build\Microsoft.Net.ToolsetCompilers.props')" />
<ImportGroup Label="Settings">
<Import Project="..\..\..\Tools\Microsoft.CodeAnalysis.Toolset.Open\Targets\VSL.Settings.targets" />
</ImportGroup>
<PropertyGroup>
<NonShipping>True</NonShipping>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<OutDir>..\..\..\..\Binaries\$(Configuration)\</OutDir>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{97CC7ABF-7E07-4F3A-947B-8C2D8F916450}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>FakeSign</RootNamespace>
<AssemblyName>FakeSign</AssemblyName>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<RestorePackages>true</RestorePackages>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "/>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ImportGroup Label="Targets">
<Import Project="..\..\..\Tools\Microsoft.CodeAnalysis.Toolset.Open\Targets\VSL.Imports.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
</ImportGroup>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
<Error Condition="!Exists('..\..\..\..\packages\Microsoft.Net.ToolsetCompilers.0.7.4090503-beta\build\Microsoft.Net.ToolsetCompilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\Microsoft.Net.ToolsetCompilers.0.7.4090503-beta\build\Microsoft.Net.ToolsetCompilers.props'))" />
</Target>
</Project>
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
namespace ConsoleApplication3
{
[StructLayout(LayoutKind.Explicit)]
public struct IMAGE_DOS_HEADER
{
[FieldOffset(60)] public uint e_lfanew;
}
[StructLayout(LayoutKind.Explicit)]
public struct IMAGE_NT_HEADERS32
{
[FieldOffset(0)] public uint Signature;
[FieldOffset(4)] public IMAGE_FILE_HEADER FileHeader;
[FieldOffset(24)] public IMAGE_OPTIONAL_HEADER32 OptionalHeader;
}
[StructLayout(LayoutKind.Explicit)]
public struct IMAGE_NT_HEADERS64
{
[FieldOffset(0)] public uint Signature;
[FieldOffset(4)] public IMAGE_FILE_HEADER FileHeader;
[FieldOffset(24)] public IMAGE_OPTIONAL_HEADER64 OptionalHeader;
}
public struct IMAGE_FILE_HEADER
{
public ushort Machine;
public ushort NumberOfSections;
public uint TimeDateStamp;
public uint PointerToSymbolTable;
public uint NumberOfSymbols;
public ushort SizeOfOptionalHeader;
public ushort Characteristics;
}
[StructLayout(LayoutKind.Explicit)]
public struct IMAGE_OPTIONAL_HEADER32
{
[FieldOffset(0)] public ushort Magic;
[FieldOffset(2)] public byte MajorLinkerVersion;
[FieldOffset(3)] public byte MinorLinkerVersion;
[FieldOffset(4)] public uint SizeOfCode;
[FieldOffset(8)] public uint SizeOfInitializedData;
[FieldOffset(12)] public uint SizeOfUninitializedData;
[FieldOffset(16)] public uint AddressOfEntryPoint;
[FieldOffset(20)] public uint BaseOfCode;
[FieldOffset(24)] public uint BaseOfData; // PE32 contains this additional field
[FieldOffset(28)] public uint ImageBase;
[FieldOffset(32)] public uint SectionAlignment;
[FieldOffset(36)] public uint FileAlignment;
[FieldOffset(40)] public ushort MajorOperatingSystemVersion;
[FieldOffset(42)] public ushort MinorOperatingSystemVersion;
[FieldOffset(44)] public ushort MajorImageVersion;
[FieldOffset(46)] public ushort MinorImageVersion;
[FieldOffset(48)] public ushort MajorSubsystemVersion;
[FieldOffset(50)] public ushort MinorSubsystemVersion;
[FieldOffset(52)] public uint Win32VersionValue;
[FieldOffset(56)] public uint SizeOfImage;
[FieldOffset(60)] public uint SizeOfHeaders;
[FieldOffset(64)] public uint CheckSum;
[FieldOffset(68)] public uint Subsystem;
[FieldOffset(70)] public uint DllCharacteristics;
[FieldOffset(72)] public uint SizeOfStackReserve;
[FieldOffset(76)] public uint SizeOfStackCommit;
[FieldOffset(80)] public uint SizeOfHeapReserve;
[FieldOffset(84)] public uint SizeOfHeapCommit;
[FieldOffset(88)] public uint LoaderFlags;
[FieldOffset(92)] public uint NumberOfRvaAndSizes;
[FieldOffset(96)] public IMAGE_DATA_DIRECTORY ExportTable;
[FieldOffset(104)] public IMAGE_DATA_DIRECTORY ImportTable;
[FieldOffset(112)] public IMAGE_DATA_DIRECTORY ResourceTable;
[FieldOffset(120)] public IMAGE_DATA_DIRECTORY ExceptionTable;
[FieldOffset(128)] public IMAGE_DATA_DIRECTORY CertificateTable;
[FieldOffset(136)] public IMAGE_DATA_DIRECTORY BaseRelocationTable;
[FieldOffset(144)] public IMAGE_DATA_DIRECTORY Debug;
[FieldOffset(152)] public IMAGE_DATA_DIRECTORY Architecture;
[FieldOffset(160)] public IMAGE_DATA_DIRECTORY GlobalPtr;
[FieldOffset(168)] public IMAGE_DATA_DIRECTORY TLSTable;
[FieldOffset(176)] public IMAGE_DATA_DIRECTORY LoadConfigTable;
[FieldOffset(184)] public IMAGE_DATA_DIRECTORY BoundImport;
[FieldOffset(192)] public IMAGE_DATA_DIRECTORY IAT;
[FieldOffset(200)] public IMAGE_DATA_DIRECTORY DelayImportDescriptor;
[FieldOffset(208)] public IMAGE_DATA_DIRECTORY CLRRuntimeHeader;
[FieldOffset(216)] public IMAGE_DATA_DIRECTORY Reserved;
}
[StructLayout(LayoutKind.Explicit)]
public struct IMAGE_OPTIONAL_HEADER64
{
[FieldOffset(0)] public ushort Magic;
[FieldOffset(2)] public byte MajorLinkerVersion;
[FieldOffset(3)] public byte MinorLinkerVersion;
[FieldOffset(4)] public uint SizeOfCode;
[FieldOffset(8)] public uint SizeOfInitializedData;
[FieldOffset(12)] public uint SizeOfUninitializedData;
[FieldOffset(16)] public uint AddressOfEntryPoint;
[FieldOffset(20)] public uint BaseOfCode;
[FieldOffset(24)] public ulong ImageBase;
[FieldOffset(32)] public uint SectionAlignment;
[FieldOffset(36)] public uint FileAlignment;
[FieldOffset(40)] public ushort MajorOperatingSystemVersion;
[FieldOffset(42)] public ushort MinorOperatingSystemVersion;
[FieldOffset(44)] public ushort MajorImageVersion;
[FieldOffset(46)] public ushort MinorImageVersion;
[FieldOffset(48)] public ushort MajorSubsystemVersion;
[FieldOffset(50)] public ushort MinorSubsystemVersion;
[FieldOffset(52)] public uint Win32VersionValue;
[FieldOffset(56)] public uint SizeOfImage;
[FieldOffset(60)] public uint SizeOfHeaders;
[FieldOffset(64)] public uint CheckSum;
[FieldOffset(68)] public ushort Subsystem;
[FieldOffset(70)] public ushort DllCharacteristics;
[FieldOffset(72)] public ulong SizeOfStackReserve;
[FieldOffset(80)] public ulong SizeOfStackCommit;
[FieldOffset(88)] public ulong SizeOfHeapReserve;
[FieldOffset(96)] public ulong SizeOfHeapCommit;
[FieldOffset(104)] public uint LoaderFlags;
[FieldOffset(108)] public uint NumberOfRvaAndSizes;
[FieldOffset(112)] public IMAGE_DATA_DIRECTORY ExportTable;
[FieldOffset(120)] public IMAGE_DATA_DIRECTORY ImportTable;
[FieldOffset(128)] public IMAGE_DATA_DIRECTORY ResourceTable;
[FieldOffset(136)] public IMAGE_DATA_DIRECTORY ExceptionTable;
[FieldOffset(144)] public IMAGE_DATA_DIRECTORY CertificateTable;
[FieldOffset(152)] public IMAGE_DATA_DIRECTORY BaseRelocationTable;
[FieldOffset(160)] public IMAGE_DATA_DIRECTORY Debug;
[FieldOffset(168)] public IMAGE_DATA_DIRECTORY Architecture;
[FieldOffset(176)] public IMAGE_DATA_DIRECTORY GlobalPtr;
[FieldOffset(184)] public IMAGE_DATA_DIRECTORY TLSTable;
[FieldOffset(192)] public IMAGE_DATA_DIRECTORY LoadConfigTable;
[FieldOffset(200)] public IMAGE_DATA_DIRECTORY BoundImport;
[FieldOffset(208)] public IMAGE_DATA_DIRECTORY IAT;
[FieldOffset(216)] public IMAGE_DATA_DIRECTORY DelayImportDescriptor;
[FieldOffset(224)] public IMAGE_DATA_DIRECTORY CLRRuntimeHeader;
[FieldOffset(232)] public IMAGE_DATA_DIRECTORY Reserved;
}
public struct IMAGE_DATA_DIRECTORY
{
public uint VirtualAddress;
public uint Size;
}
[StructLayout(LayoutKind.Explicit)]
public struct IMAGE_SECTION_HEADER
{
[FieldOffset(8)] public uint VirtualSize;
[FieldOffset(12)] public uint VirtualAddress;
[FieldOffset(16)] public uint SizeOfRawData;
[FieldOffset(20)] public uint PointerToRawData;
[FieldOffset(24)] public uint PointerToRelocations;
[FieldOffset(28)] public uint PointerToLinenumbers;
[FieldOffset(32)] public ushort NumberOfRelocations;
[FieldOffset(34)] public ushort NumberOfLinenumbers;
[FieldOffset(36)] public ushort Characteristics;
}
public struct IMAGE_COR20_HEADER
{
public uint cb;
public ushort MajorRuntimeVersion;
public ushort MinorRuntimeVersion;
// Symbol table and startup information
public IMAGE_DATA_DIRECTORY MetaData;
public uint Flags;
public uint EntryPoint; // was union { DWORD EntryPointToken; DWORD EntryPointRVA; };
// Binding information
public IMAGE_DATA_DIRECTORY Resources;
public IMAGE_DATA_DIRECTORY StrongNameSignature;
// Regular fixup and binding information
public IMAGE_DATA_DIRECTORY CodeManagerTable;
public IMAGE_DATA_DIRECTORY VTableFixups;
public IMAGE_DATA_DIRECTORY ExportAddressTableJumps;
public IMAGE_DATA_DIRECTORY ManagedNativeHeader; // Precompiled image info (internal use only - set to zero)
}
static class BufferHelpers
{
static byte[] EmptyByteArray = new byte[0];
static public byte[] readBlock(this FileStream stream, uint offset, int length)
{
byte[] data = new byte[length];
var x = stream.Seek(offset, SeekOrigin.Begin);
long bytes = stream.Read(data, 0, (int)length);
if (bytes == 0) data = EmptyByteArray;
return data;
}
static public void writeBlock(this FileStream stream, byte[] data, uint offset)
{
var x = stream.Seek(offset, SeekOrigin.Begin);
stream.Write(data, 0, data.Length);
return;
}
public static unsafe IMAGE_DOS_HEADER GetIMAGE_DOS_HEADER(this FileStream stream, uint location)
{
byte[] data = stream.readBlock(location, sizeof(IMAGE_DOS_HEADER));
if (data.Length == 0) throw new System.InvalidProgramException();
fixed (byte* pData = data) { return *(IMAGE_DOS_HEADER*)pData; }
}
public static unsafe ushort GetMagic(this FileStream stream, uint location)
{
byte[] data = stream.readBlock(location, sizeof(ushort));
if (data.Length == 0) throw new System.InvalidProgramException();
fixed (byte* pData = data) { return *(ushort*)pData; }
}
public static unsafe IMAGE_NT_HEADERS32 GetIMAGE_NT_HEADERS32(this FileStream stream, uint location)
{
byte[] data = stream.readBlock(location, sizeof(IMAGE_NT_HEADERS32));
if (data.Length == 0) throw new System.InvalidProgramException();
fixed (byte* pData = data) { return *(IMAGE_NT_HEADERS32*)pData; }
}
public static unsafe IMAGE_NT_HEADERS64 GetIMAGE_NT_HEADERS64(this FileStream stream, uint location)
{
byte[] data = stream.readBlock(location, sizeof(IMAGE_NT_HEADERS64));
if (data.Length == 0) throw new System.InvalidProgramException();
fixed (byte* pData = data) { return *(IMAGE_NT_HEADERS64*)pData; }
}
public static unsafe IMAGE_SECTION_HEADER GetIMAGE_SECTION_HEADER(this FileStream stream, uint location)
{
byte[] data = stream.readBlock(location, sizeof(IMAGE_SECTION_HEADER));
if (data.Length == 0) throw new System.InvalidProgramException();
fixed (byte* pData = data) { return *(IMAGE_SECTION_HEADER*)pData; }
}
public static unsafe IMAGE_COR20_HEADER GetIMAGE_COR20_HEADER(this FileStream stream, uint location)
{
byte[] data = stream.readBlock(location, sizeof(IMAGE_COR20_HEADER));
if (data.Length == 0) throw new System.InvalidProgramException();
fixed (byte* pData = data) { return *(IMAGE_COR20_HEADER*)pData; }
}
public static unsafe void SetIMAGE_COR20_HEADER(this FileStream stream, uint location, IMAGE_COR20_HEADER cor20Header)
{
byte[] data = cor20Header.GetBytes();
stream.writeBlock(data, location);
}
public static uint MapRvaToFileOffset(this List<IMAGE_SECTION_HEADER> sections, uint offset)
{
// Map RvaTo FileLocation
foreach (var section in sections)
{
if (offset >= section.VirtualAddress && offset < section.VirtualAddress + section.VirtualSize)
{
// Rva is in this section
return (offset - section.VirtualAddress) + section.PointerToRawData;
}
}
throw new System.InvalidProgramException();
}
public static byte[] GetBytes<T>(this T cor20Header)
{
int size = Marshal.SizeOf(cor20Header);
byte[] arr = new byte[size];
IntPtr ptr = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr(cor20Header, ptr, true);
Marshal.Copy(ptr, arr, 0, size);
Marshal.FreeHGlobal(ptr);
return arr;
}
}
class Program
{
static unsafe void FlipDelaySignedBit(string path)
{
// Open the file
FileInfo fileInfo = new FileInfo(path);
using (FileStream pe = fileInfo.Open(FileMode.Open, FileAccess.ReadWrite))
{
var dosHeader = pe.GetIMAGE_DOS_HEADER(0);
var magic = pe.GetMagic(dosHeader.e_lfanew);
var sections = new List<IMAGE_SECTION_HEADER>();
uint clrRuntimeHeaderSize = 0;
uint clrRuntimeHeaderRva = 0;
if (magic == 0x20b)
{
var ntHeaders = pe.GetIMAGE_NT_HEADERS64(dosHeader.e_lfanew);
clrRuntimeHeaderSize = ntHeaders.OptionalHeader.CLRRuntimeHeader.Size;
clrRuntimeHeaderRva = ntHeaders.OptionalHeader.CLRRuntimeHeader.VirtualAddress;
for (int i = 0; i < ntHeaders.FileHeader.NumberOfSections; i++)
{
uint offset = (uint)(dosHeader.e_lfanew + sizeof(IMAGE_NT_HEADERS64) + (i * sizeof(IMAGE_SECTION_HEADER)));
var section = pe.GetIMAGE_SECTION_HEADER(offset);
sections.Add(section);
}
}
else
{
var ntHeaders = pe.GetIMAGE_NT_HEADERS32(dosHeader.e_lfanew);
clrRuntimeHeaderSize = ntHeaders.OptionalHeader.CLRRuntimeHeader.Size;
clrRuntimeHeaderRva = ntHeaders.OptionalHeader.CLRRuntimeHeader.VirtualAddress;
for (int i = 0; i < ntHeaders.FileHeader.NumberOfSections; i++)
{
uint offset = (uint)(dosHeader.e_lfanew + sizeof(IMAGE_NT_HEADERS32) + (i * sizeof(IMAGE_SECTION_HEADER)));
var section = pe.GetIMAGE_SECTION_HEADER(offset);
sections.Add(section);
}
}
var clrHeaderOffset = sections.MapRvaToFileOffset(clrRuntimeHeaderRva);
var Cor20Header= pe.GetIMAGE_COR20_HEADER(clrHeaderOffset);
var flagsOffSet = Marshal.OffsetOf(typeof(IMAGE_COR20_HEADER), "Flags");
Cor20Header.Flags |= 0x8; // Make it signed
pe.SetIMAGE_COR20_HEADER(clrHeaderOffset, Cor20Header);
pe.Flush();
}
return;
}
static int Main(string[] args)
{
// Create a byte array to hold the information.
if (args.Length == 0)
{
Console.WriteLine("No file passed");
return 1;
}
FlipDelaySignedBit(args[0]);
return 0;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Net.ToolsetCompilers" version="0.7.4090503-beta" targetFramework="net45" />
</packages>
\ No newline at end of file
Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
these files except in compliance with the License. You may obtain a copy of the
License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="..\..\..\..\packages\Microsoft.Net.ToolsetCompilers.0.7.4090503-beta\build\Microsoft.Net.ToolsetCompilers.props" Condition="Exists('..\..\..\..\packages\Microsoft.Net.ToolsetCompilers.0.7.4090503-beta\build\Microsoft.Net.ToolsetCompilers.props')" />
<ImportGroup Label="Settings">
<Import Project="..\..\..\Tools\Microsoft.CodeAnalysis.Toolset.Open\Targets\VSL.Settings.targets" />
</ImportGroup>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<OutDir>..\..\..\..\Binaries\$(Configuration)\</OutDir>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<SchemaVersion>2.0</SchemaVersion>
<ProjectTypeGuids>{82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<ProjectGuid>{43026D51-3083-4850-928D-07E1883D5B1A}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OpenSourceDebug</RootNamespace>
<AssemblyName>OpenSourceDebug</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<GeneratePkgDefFile>true</GeneratePkgDefFile>
<IncludeAssemblyInVSIXContainer>true</IncludeAssemblyInVSIXContainer>
<IncludeDebugSymbolsInVSIXContainer>true</IncludeDebugSymbolsInVSIXContainer>
<IncludeDebugSymbolsInLocalVSIXDeployment>true</IncludeDebugSymbolsInLocalVSIXDeployment>
<CopyBuildOutputToOutputDirectory>true</CopyBuildOutputToOutputDirectory>
<CopyOutputSymbolsToOutputDirectory>true</CopyOutputSymbolsToOutputDirectory>
<StartAction>Program</StartAction>
<StartProgram>$(DevEnvDir)devenv.exe</StartProgram>
<StartArguments>/rootsuffix Roslyn /log</StartArguments>
<VSSDKTargetPlatformRegRootSuffix>Roslyn</VSSDKTargetPlatformRegRootSuffix>
<NeedsFakeSign>true</NeedsFakeSign>
</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>
<DeployExtension>True</DeployExtension>
<CreateVsixContainer>False</CreateVsixContainer>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CreateVsixContainer>True</CreateVsixContainer>
<DeployExtension>True</DeployExtension>
</PropertyGroup>
<ItemGroup>
<Compile Include="OpenSourceDebugPackage.cs" />
<Compile Include="Resources.Designer.cs" />
</ItemGroup>
<ItemGroup>
<None Include="source.extension.vsixmanifest">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="enableopensource.pkgdef">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="License.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.Build" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.VisualStudio.OLE.Interop" />
<Reference Include="Microsoft.VisualStudio.Shell.Interop" />
<Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0" />
<Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0" />
<Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0" />
<Reference Include="Microsoft.VisualStudio.Shell.Interop.11.0">
<EmbedInteropTypes>true</EmbedInteropTypes>
</Reference>
<Reference Include="Microsoft.VisualStudio.Shell.Interop.12.0">
<EmbedInteropTypes>true</EmbedInteropTypes>
</Reference>
<Reference Include="Microsoft.VisualStudio.TextManager.Interop" />
<Reference Include="Microsoft.VisualStudio.Shell.$(VisualStudioVersion)" />
<Reference Include="Microsoft.VisualStudio.Shell.Immutable.10.0" />
<Reference Include="Microsoft.VisualStudio.Shell.Immutable.11.0" />
<Reference Include="Microsoft.VisualStudio.Shell.Immutable.12.0" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Data" />
<Reference Include="System.Design" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<ProjectReference Include="..\..\..\Compilers\Core\Desktop\CodeAnalysis.Desktop.csproj">
<Project>{dfa21ca1-7f96-47ee-940c-069858e81727}</Project>
<Name>CodeAnalysis.Desktop</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Compilers\Core\Portable\CodeAnalysis.csproj">
<Project>{1EE8CAD3-55F9-4D91-96B2-084641DA9A6C}</Project>
<Name>CodeAnalysis</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\..\..\Compilers\Core\VBCSCompiler\VBCSCompiler.csproj">
<Project>{9508f118-f62e-4c16-a6f4-7c3b56e166ad}</Project>
<Name>VBCSCompiler</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\..\..\Compilers\CSharp\csc\csc.csproj">
<Project>{4b45ca0c-03a0-400f-b454-3d4bcb16af38}</Project>
<Name>csc</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\..\..\Compilers\CSharp\Desktop\CSharpCodeAnalysis.Desktop.csproj">
<Project>{079AF8EF-1058-48B6-943F-AB02D39E0641}</Project>
<Name>CSharpCodeAnalysis.Desktop</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\..\..\Compilers\CSharp\Portable\CSharpCodeAnalysis.csproj">
<Project>{B501A547-C911-4A05-AC6E-274A50DFF30E}</Project>
<Name>CSharpCodeAnalysis</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\..\..\Compilers\VisualBasic\Desktop\BasicCodeAnalysis.Desktop.vbproj">
<Project>{73F3E2C5-D742-452E-B9E1-20732DDBC75D}</Project>
<Name>BasicCodeAnalysis.Desktop</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\..\..\Compilers\VisualBasic\Portable\BasicCodeAnalysis.vbproj">
<Project>{2523D0E6-DF32-4A3E-8AE0-A19BFFAE2EF6}</Project>
<Name>BasicCodeAnalysis</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\..\..\Compilers\VisualBasic\vbc\vbc.vbproj">
<Project>{2ac2755d-9437-4271-bbde-1a3795a0c320}</Project>
<Name>vbc</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\..\..\Diagnostics\FxCop\Core\FxCopRulesDiagnosticAnalyzers.csproj">
<Project>{36755424-5267-478C-9434-37A507E22711}</Project>
<Name>FxCopRulesDiagnosticAnalyzers</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\..\..\Diagnostics\FxCop\CSharp\CSharpFxCopRulesDiagnosticAnalyzers.csproj">
<Project>{3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}</Project>
<Name>CSharpFxCopRulesDiagnosticAnalyzers</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\..\..\Diagnostics\FxCop\VisualBasic\BasicFxCopRulesDiagnosticAnalyzers.vbproj">
<Project>{2FCCB9BE-DD4E-48F2-B678-80E6FB196948}</Project>
<Name>BasicFxCopRulesDiagnosticAnalyzers</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\..\..\Workspaces\Core\Desktop\Workspaces.Desktop.csproj">
<Project>{2e87fa96-50bb-4607-8676-46521599f998}</Project>
<Name>Workspaces.Desktop</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Workspaces\Core\Portable\Workspaces.csproj">
<Project>{5F8D2414-064A-4B3A-9B42-8E2A04246BE5}</Project>
<Name>Workspaces</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\..\..\Workspaces\CSharp\Portable\CSharpWorkspace.csproj">
<Project>{21B239D0-D144-430F-A394-C066D58EE267}</Project>
<Name>CSharpWorkspace</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\..\..\Workspaces\VisualBasic\Portable\BasicWorkspace.vbproj">
<Project>{57CA988D-F010-4BF2-9A2E-07D6DCD2FF2C}</Project>
<Name>BasicWorkspace</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\SyntaxVisualizer\SyntaxVisualizerControl\SyntaxVisualizerControl.csproj">
<Project>{AFE45E23-E7EE-48C5-8143-EBE2FF67070F}</Project>
<Name>SyntaxVisualizerControl</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\SyntaxVisualizer\SyntaxVisualizerDgmlHelper\SyntaxVisualizerDgmlHelper.vbproj">
<Project>{DA4F74AF-2694-4AC9-A8CC-18382DE8215E}</Project>
<Name>SyntaxVisualizerDgmlHelper</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resources.resx" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
<ImportGroup Label="Targets">
<Import Project="..\..\..\Tools\Microsoft.CodeAnalysis.Toolset.Open\Targets\VSL.Imports.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" />
</ImportGroup>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
<Error Condition="!Exists('..\..\..\..\packages\Microsoft.Net.ToolsetCompilers.0.7.4090503-beta\build\Microsoft.Net.ToolsetCompilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\Microsoft.Net.ToolsetCompilers.0.7.4090503-beta\build\Microsoft.Net.ToolsetCompilers.props'))" />
</Target>
</Project>
\ No newline at end of file
using System;
using System.Diagnostics;
using System.Globalization;
using System.Runtime.InteropServices;
using System.ComponentModel.Design;
using Microsoft.Win32;
using Microsoft.VisualStudio;
using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.OLE.Interop;
using Microsoft.VisualStudio.Shell;
using System.Reflection;
using System.IO;
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1017:MarkAssembliesWithComVisible")]
namespace Microsoft.OpenSourceDebug
{
/// <summary>
/// This is the class that implements the package exposed by this assembly.
///
/// The minimum requirement for a class to be considered a valid package for Visual Studio
/// is to implement the IVsPackage interface and register itself with the shell.
/// This package uses the helper classes defined inside the Managed Package Framework (MPF)
/// to do it: it derives from the Package class that provides the implementation of the
/// IVsPackage interface and uses the registration attributes defined in the framework to
/// register itself and its components with the shell.
/// </summary>
public sealed class OpenSourceDebugPackage : Package
{
private const string VisualStudioVersion = "14.0";
private const string VisualStudioHive = "VisualStudio";
private const string MSBuildDirectory = @"Microsoft\MSBuild\14.0";
private string CSharpTargetsTemplate =
@"<?xml version=""1.0"" encoding=""utf-8""?>
<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
<PropertyGroup Condition=""'$(RoslynHive)'=='{0}'"">
<CscToolPath>{1}</CscToolPath>
<CscToolExe>csc.exe</CscToolExe>
</PropertyGroup>
</Project>
";
private const string VisualBasicTargetsTemplate =
@"<?xml version=""1.0"" encoding=""utf-8""?>
<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
<PropertyGroup Condition=""'$(RoslynHive)'=='{0}'"">
<VbcToolPath>{1}</VbcToolPath>
<VbcToolExe>vbc.exe</VbcToolExe>
</PropertyGroup>
</Project>
";
private const string WriteFileExceptionTitle = "OpenSourceDebugPackage";
private const string WriteFileExceptionMessage =
@"Unable to write {0}
{1}
To reload the Roslyn compiler package, close Visual Studio and any MSBuild processes, then restart Visual Studio."/*.NeedsLocalization()*/;
protected override void Initialize()
{
// Generate targets file
var packagePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var localAppData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
var msbuildExtensionsPath = Path.Combine(localAppData, MSBuildDirectory);
string localRegistryRoot;
var reg = (ILocalRegistry2)this.GetService(typeof(SLocalRegistry));
reg.GetLocalRegistryRoot(out localRegistryRoot);
var regDirs = localRegistryRoot.Split('\\');
var roslynHive = string.Format(@"{0}\{1}", regDirs[2], regDirs[3]);
// Is it a valid Hive looks similar to:
// 'Software\Microsoft\VisualStudio\14.0' 'Software\Microsoft\VisualStudio\14.0Roslyn' 'Software\Microsoft\VSWinExpress\14.0'
if (regDirs.Length >= 4)
{
if (regDirs[3].ToUpperInvariant() != "VISUALSTUDIOVERSION")
{
WriteFile(
Path.Combine(msbuildExtensionsPath, string.Format(@"Microsoft.CSharp.targets\ImportAfter\Microsoft.CSharp.Roslyn.{0}.{1}.targets", regDirs[2], regDirs[3])),
string.Format(CSharpTargetsTemplate, roslynHive, packagePath));
WriteFile(
Path.Combine(msbuildExtensionsPath, string.Format(@"Microsoft.VisualBasic.targets\ImportAfter\Microsoft.VisualBasic.Roslyn.{0}.{1}.targets", regDirs[2], regDirs[3])),
string.Format(VisualBasicTargetsTemplate, roslynHive, packagePath));
}
try
{
Microsoft.Build.Evaluation.ProjectCollection.GlobalProjectCollection.DisableMarkDirty = true;
Microsoft.Build.Evaluation.ProjectCollection.GlobalProjectCollection.SetGlobalProperty("RoslynHive", roslynHive);
}
finally
{
Microsoft.Build.Evaluation.ProjectCollection.GlobalProjectCollection.DisableMarkDirty = false;
}
}
base.Initialize();
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
private void WriteFile(string path, string contents)
{
try
{
var directory = Path.GetDirectoryName(path);
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
using (var writer = new StreamWriter(path))
{
writer.Write(contents);
}
}
catch (IOException e)
{
ReportWriteFileException(path, e);
}
catch (UnauthorizedAccessException e)
{
ReportWriteFileException(path, e);
}
}
private void ReportWriteFileException(string path, Exception e)
{
VsShellUtilities.ShowMessageBox(
this,
string.Format(WriteFileExceptionMessage, path, e.Message),
WriteFileExceptionTitle,
OLEMSGICON.OLEMSGICON_WARNING,
OLEMSGBUTTON.OLEMSGBUTTON_OK,
OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST);
}
}
}
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Microsoft.OpenSourceDebug {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.OpenSourceDebug.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<!--
VS SDK Notes: This resx file contains the resources that will be consumed directly by your package.
For example, if you chose to create a tool window, there is a resource with ID 'CanNotCreateWindow'. This
is used in VsPkg.cs to determine the string to show the user if there is an error when attempting to create
the tool window.
Resources that are accessed directly from your package *by Visual Studio* are stored in the VSPackage.resx
file.
-->
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
; Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
[$RootKey$\InstalledProducts\OpenSourceDebugPackage]
@="#110"
"Package"="{7922692f-f018-45e7-8f3f-d3b7c0262841}"
"PID"="0.7"
[$RootKey$\Packages\{7922692f-f018-45e7-8f3f-d3b7c0262841}]
@="OpenSourceDebugPackage"
"InprocServer32"="$WinDir$\SYSTEM32\MSCOREE.DLL"
"Class"="Microsoft.OpenSourceDebug.OpenSourceDebugPackage"
"Assembly"="OpenSourceDebug, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
[$RootKey$\AutoLoadPackages\{f1536ef8-92ec-443c-9ed7-fdadf150da82}]
"{7922692f-f018-45e7-8f3f-d3b7c0262841}"=dword:00000000
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{B0633220-CC49-4846-95FE-BF14E45A7746}]
"name"="OpenSourceDebug"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\OpenSourceDebug.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{BD63FD05-C1FF-4FC9-8B16-1F89252C1AA6}]
"name"="Microsoft.CodeAnalysis.CSharp.Desktop"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\Microsoft.CodeAnalysis.CSharp.Desktop.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{6F2F49AD-3400-468C-A4E3-DF22A400A5BE}]
"name"="Microsoft.CodeAnalysis.CSharp"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\Microsoft.CodeAnalysis.CSharp.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{FB16B8CA-5B0D-4907-B53C-5A6280A18D26}]
"name"="Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{6197998F-B175-40ED-83A6-6B9F3F5957EB}]
"name"="Microsoft.CodeAnalysis.CSharp.Workspaces"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\Microsoft.CodeAnalysis.CSharp.Workspaces.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{BEFBFC1B-A65A-4673-A2D8-DDF88FE832F1}]
"name"="Microsoft.CodeAnalysis.Desktop"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\Microsoft.CodeAnalysis.Desktop.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{9191E7D9-AD0F-4FC4-9BAA-13F5AEB7B7A9}]
"name"="Microsoft.CodeAnalysis"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\Microsoft.CodeAnalysis.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{F7B75996-8BE1-407F-8F17-54AB745CD804}]
"name"="Microsoft.CodeAnalysis.FxCopAnalyzers"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\Microsoft.CodeAnalysis.FxCopAnalyzers.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{A0B7536E-8ADA-4108-8E98-ECFDAC4BBB79}]
"name"="Microsoft.CodeAnalysis.VisualBasic.Desktop"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\Microsoft.CodeAnalysis.VisualBasic.Desktop.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{74465C32-9A24-44DE-BDD0-6A335D926101}]
"name"="Microsoft.CodeAnalysis.VisualBasic"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\Microsoft.CodeAnalysis.VisualBasic.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{455F6A8A-1385-4443-B440-A97B4206BACB}]
"name"="Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{4B14766C-ED6F-4A10-8374-7FA73055D4E4}]
"name"="Microsoft.CodeAnalysis.VisualBasic.Workspaces"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{F9F9D431-7216-4199-8648-DDC26E7BCF76}]
"name"="Microsoft.CodeAnalysis.Workspaces"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\Microsoft.CodeAnalysis.Workspaces.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{61F3FC17-A4C1-43C7-B5A4-28EC69C2B2DE}]
"name"="Roslyn.SyntaxVisualizer.Control"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\Roslyn.SyntaxVisualizer.Control.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{32142B8B-4B9B-48A6-8DD9-30C279581098}]
"name"="Roslyn.SyntaxVisualizer.DgmlHelper"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\Roslyn.SyntaxVisualizer.DgmlHelper.dll"
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{E53DF9E9-CA2D-4F64-9DA6-4CB504612A1E}]
"name"=">Roslyn.Diagnostics.Analyzers.VisualBasic"
"publicKeyToken"="31bf3856ad364e35"
"culture"="neutral"
"version"="0.7.0.0"
"codeBase"="$PackageFolder$\>Roslyn.Diagnostics.Analyzers.VisualBasic.dll"
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Id="OpenSourceDebug..7922692f-f018-45e7-8f3f-d3b7c0262841" Version="0.7" Language="en-US" Publisher="MSOpenTech" />
<DisplayName>OpenSourceDebug</DisplayName>
<Description xml:space="preserve">Enable Open Source Debugging</Description>
<License>License.txt</License>
</Metadata>
<Installation>
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[14.0]" />
<InstallationTarget Version="[14.0]" Id="Microsoft.VisualStudio.Premium" />
<InstallationTarget Version="[14.0]" Id="Microsoft.VisualStudio.Ultimate" />
</Installation>
<Dependencies>
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.5,)" />
</Dependencies>
<Assets>
<Asset Type="Microsoft.VisualStudio.VsPackage" Path="enableopensource.pkgdef" d:Source="File" />
<Asset Type="Microsoft.VisualStudio.VsPackage" Path="|%CurrentProject%;PkgdefProjectOutputGroup|" d:Source="Project" d:ProjectName="%CurrentProject%" />
<Asset Type="Microsoft.VisualStudio.Assembly" Path="|CSharpCodeAnalysis.Desktop|" AssemblyName="Microsoft.CodeAnalysis.CSharp.Desktop, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" d:Source="Project" d:ProjectName="CSharpCodeAnalysis.Desktop" />
<Asset Type="Microsoft.VisualStudio.Assembly" Path="|CSharpCodeAnalysis|" AssemblyName="Microsoft.CodeAnalysis.CSharp, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" d:Source="Project" d:ProjectName="CSharpCodeAnalysis" />
<Asset Type="Microsoft.VisualStudio.Assembly" Path="|CSharpFxCopRulesDiagnosticAnalyzers|" AssemblyName="Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" d:Source="Project" d:ProjectName="CSharpFxCopRulesDiagnosticAnalyzers" />
<Asset Type="Microsoft.VisualStudio.Assembly" Path="|CSharpWorkspace|" AssemblyName="Microsoft.CodeAnalysis.CSharp.Workspaces, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" d:Source="Project" d:ProjectName="CSharpWorkspace" />
<Asset Type="Microsoft.VisualStudio.Assembly" Path="|CSharpCodeAnalysis.Desktop|" AssemblyName="Microsoft.CodeAnalysis.Desktop, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" d:Source="Project" d:ProjectName="CSharpCodeAnalysis.Desktop" />
<Asset Type="Microsoft.VisualStudio.Assembly" Path="|CodeAnalysis|" AssemblyName="Microsoft.CodeAnalysis, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" d:Source="Project" d:ProjectName="CodeAnalysis" />
<Asset Type="Microsoft.VisualStudio.Assembly" Path="|FxCopRulesDiagnosticAnalyzers|" AssemblyName="Microsoft.CodeAnalysis.FxCopAnalyzers, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" d:Source="Project" d:ProjectName="FxCopRulesDiagnosticAnalyzers" />
<Asset Type="Microsoft.VisualStudio.Assembly" Path="|BasicCodeAnalysis.Desktop|" AssemblyName="Microsoft.CodeAnalysis.VisualBasic.Desktop, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" d:Source="Project" d:ProjectName="BasicCodeAnalysis.Desktop" />
<Asset Type="Microsoft.VisualStudio.Assembly" Path="|BasicCodeAnalysis|" AssemblyName="Microsoft.CodeAnalysis.VisualBasic, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" d:Source="Project" d:ProjectName="BasicCodeAnalysis" />
<Asset Type="Microsoft.VisualStudio.Assembly" Path="|BasicFxCopRulesDiagnosticAnalyzers|" AssemblyName="Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" d:Source="Project" d:ProjectName="BasicFxCopRulesDiagnosticAnalyzers" />
<Asset Type="Microsoft.VisualStudio.Assembly" Path="|BasicWorkspace|" AssemblyName="Microsoft.CodeAnalysis.VisualBasic.Workspaces, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" d:Source="Project" d:ProjectName="BasicWorkspace" />
<Asset Type="Microsoft.VisualStudio.Assembly" Path="|Workspaces|" AssemblyName="Microsoft.CodeAnalysis.Workspaces, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" d:Source="Project" d:ProjectName="Workspaces" />
<Asset Type="Microsoft.VisualStudio.Assembly" Path="|SyntaxVisualizerDgmlHelper|" AssemblyName="Roslyn.SyntaxVisualizer.DgmlHelper, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" d:Source="Project" d:ProjectName="SyntaxVisualizerDgmlHelper" />
<Asset Type="Microsoft.VisualStudio.Assembly" Path="|SyntaxVisualizerControl|" AssemblyName="Roslyn.SyntaxVisualizer.Control, Version=0.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" d:Source="Project" d:ProjectName="SyntaxVisualizerControl" />
</Assets>
</PackageManifest>
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\..\</SolutionDir> <SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages> <RestorePackages>true</RestorePackages>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="Project References"> <ItemGroup Label="Project References">
<ProjectReference Include="..\..\..\..\Compilers\CSharp\Portable\CSharpCodeAnalysis.csproj"> <ProjectReference Include="..\..\..\..\Compilers\CSharp\Portable\CSharpCodeAnalysis.csproj">
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\..\</SolutionDir> <SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages> <RestorePackages>true</RestorePackages>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="Project References"> <ItemGroup Label="Project References">
<ProjectReference Include="..\..\..\..\Compilers\CSharp\Portable\CSharpCodeAnalysis.csproj"> <ProjectReference Include="..\..\..\..\Compilers\CSharp\Portable\CSharpCodeAnalysis.csproj">
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\</SolutionDir> <SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages> <RestorePackages>true</RestorePackages>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="File References"> <ItemGroup Label="File References">
<Reference Include="Microsoft.Build, Version=$(VisualStudioReferenceAssemblyVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <Reference Include="Microsoft.Build, Version=$(VisualStudioReferenceAssemblyVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<TargetFrameworkProfile>Profile7</TargetFrameworkProfile> <TargetFrameworkProfile>Profile7</TargetFrameworkProfile>
<TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier> <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="File References"> <ItemGroup Label="File References">
<Reference Include="System.Collections.Immutable"> <Reference Include="System.Collections.Immutable">
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir> <SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages> <RestorePackages>true</RestorePackages>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="File References"> <ItemGroup Label="File References">
<Reference Include="System.ComponentModel.Composition" /> <Reference Include="System.ComponentModel.Composition" />
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<TargetFrameworkProfile>Profile7</TargetFrameworkProfile> <TargetFrameworkProfile>Profile7</TargetFrameworkProfile>
<TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier> <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="File References"> <ItemGroup Label="File References">
<Reference Include="..\..\..\..\packages\System.Collections.Immutable.1.1.32-beta\lib\portable-net45+win8+wp8+wpa81\\System.Collections.Immutable.dll" /> <Reference Include="..\..\..\..\packages\System.Collections.Immutable.1.1.32-beta\lib\portable-net45+win8+wp8+wpa81\\System.Collections.Immutable.dll" />
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
<AssemblyName>Microsoft.CodeAnalysis.VisualBasic.Workspaces.Desktop</AssemblyName> <AssemblyName>Microsoft.CodeAnalysis.VisualBasic.Workspaces.Desktop</AssemblyName>
<SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\</SolutionDir> <SolutionDir Condition="'$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined*'">..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages> <RestorePackages>true</RestorePackages>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(MSBuildAssemblyNameFragment)' == 'v12.0'"> <PropertyGroup Condition="'$(MSBuildAssemblyNameFragment)' == 'v12.0'">
<DefineConstants>MSBUILD12</DefineConstants> <DefineConstants>MSBUILD12</DefineConstants>
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
<TargetFrameworkProfile>Profile7</TargetFrameworkProfile> <TargetFrameworkProfile>Profile7</TargetFrameworkProfile>
<TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier> <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
<ProjectTypeGuids>{14182A97-F7F0-4C62-8B27-98AA8AE2109A};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids> <ProjectTypeGuids>{14182A97-F7F0-4C62-8B27-98AA8AE2109A};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
<NeedsFakeSign>true</NeedsFakeSign>
</PropertyGroup> </PropertyGroup>
<ItemGroup Label="File References"> <ItemGroup Label="File References">
<Reference Include="System.Collections.Immutable"> <Reference Include="System.Collections.Immutable">
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册