ClearScript 7.0 RC5: ClearScript.dll has been split into ClearScript.Core.dll, ClearScript.Windows.dll, and ClearScript.V8.dll; the project no longer builds distinct .NET Core libraries for non-Windows platforms; the name of each V8 native assembly now includes its Runtime Identifier; enhanced support for cross-platform deployment of web projects; overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209). Tested with V8 8.7.220.16.

This commit is contained in:
ClearScript 2020-11-04 18:29:51 -08:00
Родитель 6ce0ef74b9
Коммит be0de00631
658 изменённых файлов: 14342 добавлений и 6412 удалений

Просмотреть файл

@ -3,15 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29418.71
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScript", "ClearScript\ClearScript.csproj", "{D2382D2C-6576-4D96-B6CD-057C4F6BED96}"
ProjectSection(ProjectDependencies) = postProject
{2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6} = {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}
{CDCF4EEA-1CA4-412E-8C77-78893A67A577} = {CDCF4EEA-1CA4-412E-8C77-78893A67A577}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScriptTest", "ClearScriptTest\ClearScriptTest.csproj", "{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}"
ProjectSection(ProjectDependencies) = postProject
{D2382D2C-6576-4D96-B6CD-057C4F6BED96} = {D2382D2C-6576-4D96-B6CD-057C4F6BED96}
{28980C99-77E7-4B62-8484-AF06C5745B8C} = {28980C99-77E7-4B62-8484-AF06C5745B8C}
EndProjectSection
EndProject
@ -30,24 +23,20 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScriptBenchmarks", "ClearScriptBenchmarks\ClearScriptBenchmarks.csproj", "{7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript", "NetCore\ClearScript\ClearScript.csproj", "{5563D61E-E25B-432E-8698-2193F51054FC}"
ProjectSection(ProjectDependencies) = postProject
{D2382D2C-6576-4D96-B6CD-057C4F6BED96} = {D2382D2C-6576-4D96-B6CD-057C4F6BED96}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".NET Core", ".NET Core", "{38987D23-2ED7-473A-9DE5-863E338EF18A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptConsole", "NetCore\ClearScriptConsole\ClearScriptConsole.csproj", "{497012BC-959C-43A0-90A6-156A35DF2F43}"
ProjectSection(ProjectDependencies) = postProject
{5563D61E-E25B-432E-8698-2193F51054FC} = {5563D61E-E25B-432E-8698-2193F51054FC}
{28980C99-77E7-4B62-8484-AF06C5745B8C} = {28980C99-77E7-4B62-8484-AF06C5745B8C}
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptTest", "NetCore\ClearScriptTest\ClearScriptTest.csproj", "{269669D3-78D8-4AF3-A2AF-08D3446BD6BC}"
ProjectSection(ProjectDependencies) = postProject
{5563D61E-E25B-432E-8698-2193F51054FC} = {5563D61E-E25B-432E-8698-2193F51054FC}
{7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD} = {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}
{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D} = {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}
{C8AE52BB-BFEE-4816-A9FE-8653CEE36C96} = {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}
{497012BC-959C-43A0-90A6-156A35DF2F43} = {497012BC-959C-43A0-90A6-156A35DF2F43}
{6576FFFD-BA73-4123-8E4B-8589E5163C04} = {6576FFFD-BA73-4123-8E4B-8589E5163C04}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".NET Framework", ".NET Framework", "{526BA3EF-4E1D-48C1-9923-2485B63993EE}"
@ -57,34 +46,54 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptBenchmarks", "Ne
{7922A2F5-3585-4A60-98FB-1BDB4D5ECD29} = {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Unix (Build Only)", "Unix (Build Only)", "{CF199479-0DDD-4096-9587-6ACDB6D3D48D}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClearScriptV8", "ClearScriptV8", "{46C568CE-BA46-498F-9D8F-6293DED1BB94}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript", "Unix\ClearScript\ClearScript.csproj", "{0E0654D0-C984-4397-BBCD-62ED80893551}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClearScriptV8.win-x86", "ClearScriptV8\win-x86\ClearScriptV8.win-x86.vcxproj", "{2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClearScriptV8.win-x64", "ClearScriptV8\win-x64\ClearScriptV8.win-x64.vcxproj", "{CDCF4EEA-1CA4-412E-8C77-78893A67A577}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScript.Core", "ClearScript\ClearScript.Core.csproj", "{F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScript.Windows", "ClearScript\ClearScript.Windows.csproj", "{BC560FF8-AB7A-4DA9-A1FD-99221447D370}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScript.V8", "ClearScript\ClearScript.V8.csproj", "{59CC81A3-3D97-469A-9C8B-533F920085F1}"
ProjectSection(ProjectDependencies) = postProject
{D2382D2C-6576-4D96-B6CD-057C4F6BED96} = {D2382D2C-6576-4D96-B6CD-057C4F6BED96}
{2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6} = {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}
{CDCF4EEA-1CA4-412E-8C77-78893A67A577} = {CDCF4EEA-1CA4-412E-8C77-78893A67A577}
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptConsole", "Unix\ClearScriptConsole\ClearScriptConsole.csproj", "{32AA29FA-4124-4F8A-93C8-84E056ECEBC0}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.Core", "NetCore\ClearScript\ClearScript.Core.csproj", "{7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}"
ProjectSection(ProjectDependencies) = postProject
{28980C99-77E7-4B62-8484-AF06C5745B8C} = {28980C99-77E7-4B62-8484-AF06C5745B8C}
{F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2} = {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptBenchmarks", "Unix\ClearScriptBenchmarks\ClearScriptBenchmarks.csproj", "{EB4C5A54-8D1F-4924-8890-26E735223576}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.Windows", "NetCore\ClearScript\ClearScript.Windows.csproj", "{6576FFFD-BA73-4123-8E4B-8589E5163C04}"
ProjectSection(ProjectDependencies) = postProject
{BC560FF8-AB7A-4DA9-A1FD-99221447D370} = {BC560FF8-AB7A-4DA9-A1FD-99221447D370}
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.V8", "NetCore\ClearScript\ClearScript.V8.csproj", "{C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}"
ProjectSection(ProjectDependencies) = postProject
{59CC81A3-3D97-469A-9C8B-533F920085F1} = {59CC81A3-3D97-469A-9C8B-533F920085F1}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Unix", "Unix", "{48C9730D-CA6C-47ED-B72C-DB9B6EE24D47}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptBenchmarks", "Unix\ClearScriptBenchmarks\ClearScriptBenchmarks.csproj", "{FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}"
ProjectSection(ProjectDependencies) = postProject
{7922A2F5-3585-4A60-98FB-1BDB4D5ECD29} = {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptTest", "Unix\ClearScriptTest\ClearScriptTest.csproj", "{7CD810A7-9BAA-4EF7-AC1F-F0CBB8F5899C}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptConsole", "Unix\ClearScriptConsole\ClearScriptConsole.csproj", "{3CD8AB65-BA34-4BB9-862F-D31CE861560F}"
ProjectSection(ProjectDependencies) = postProject
{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D} = {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}
{32AA29FA-4124-4F8A-93C8-84E056ECEBC0} = {32AA29FA-4124-4F8A-93C8-84E056ECEBC0}
{28980C99-77E7-4B62-8484-AF06C5745B8C} = {28980C99-77E7-4B62-8484-AF06C5745B8C}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClearScriptV8", "ClearScriptV8", "{46C568CE-BA46-498F-9D8F-6293DED1BB94}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClearScriptV8-32", "ClearScriptV8\32\ClearScriptV8-32.vcxproj", "{2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClearScriptV8-64", "ClearScriptV8\64\ClearScriptV8-64.vcxproj", "{CDCF4EEA-1CA4-412E-8C77-78893A67A577}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptTest", "Unix\ClearScriptTest\ClearScriptTest.csproj", "{052E036D-6D60-4FCA-AA8E-4CF56BC2058D}"
ProjectSection(ProjectDependencies) = postProject
{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D} = {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}
{3CD8AB65-BA34-4BB9-862F-D31CE861560F} = {3CD8AB65-BA34-4BB9-862F-D31CE861560F}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -92,10 +101,6 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D2382D2C-6576-4D96-B6CD-057C4F6BED96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D2382D2C-6576-4D96-B6CD-057C4F6BED96}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D2382D2C-6576-4D96-B6CD-057C4F6BED96}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D2382D2C-6576-4D96-B6CD-057C4F6BED96}.Release|Any CPU.Build.0 = Release|Any CPU
{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -108,10 +113,6 @@ Global
{7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Release|Any CPU.Build.0 = Release|Any CPU
{5563D61E-E25B-432E-8698-2193F51054FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5563D61E-E25B-432E-8698-2193F51054FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5563D61E-E25B-432E-8698-2193F51054FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5563D61E-E25B-432E-8698-2193F51054FC}.Release|Any CPU.Build.0 = Release|Any CPU
{497012BC-959C-43A0-90A6-156A35DF2F43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{497012BC-959C-43A0-90A6-156A35DF2F43}.Debug|Any CPU.Build.0 = Debug|Any CPU
{497012BC-959C-43A0-90A6-156A35DF2F43}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -124,22 +125,6 @@ Global
{925DD842-4585-4D44-80BB-78E1FB7E9438}.Debug|Any CPU.Build.0 = Debug|Any CPU
{925DD842-4585-4D44-80BB-78E1FB7E9438}.Release|Any CPU.ActiveCfg = Release|Any CPU
{925DD842-4585-4D44-80BB-78E1FB7E9438}.Release|Any CPU.Build.0 = Release|Any CPU
{0E0654D0-C984-4397-BBCD-62ED80893551}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0E0654D0-C984-4397-BBCD-62ED80893551}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0E0654D0-C984-4397-BBCD-62ED80893551}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0E0654D0-C984-4397-BBCD-62ED80893551}.Release|Any CPU.Build.0 = Release|Any CPU
{32AA29FA-4124-4F8A-93C8-84E056ECEBC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{32AA29FA-4124-4F8A-93C8-84E056ECEBC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{32AA29FA-4124-4F8A-93C8-84E056ECEBC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{32AA29FA-4124-4F8A-93C8-84E056ECEBC0}.Release|Any CPU.Build.0 = Release|Any CPU
{EB4C5A54-8D1F-4924-8890-26E735223576}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EB4C5A54-8D1F-4924-8890-26E735223576}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EB4C5A54-8D1F-4924-8890-26E735223576}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EB4C5A54-8D1F-4924-8890-26E735223576}.Release|Any CPU.Build.0 = Release|Any CPU
{7CD810A7-9BAA-4EF7-AC1F-F0CBB8F5899C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7CD810A7-9BAA-4EF7-AC1F-F0CBB8F5899C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7CD810A7-9BAA-4EF7-AC1F-F0CBB8F5899C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7CD810A7-9BAA-4EF7-AC1F-F0CBB8F5899C}.Release|Any CPU.Build.0 = Release|Any CPU
{2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Debug|Any CPU.ActiveCfg = Debug|Win32
{2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Debug|Any CPU.Build.0 = Debug|Win32
{2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Release|Any CPU.ActiveCfg = Release|Win32
@ -148,25 +133,64 @@ Global
{CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Debug|Any CPU.Build.0 = Debug|x64
{CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Release|Any CPU.ActiveCfg = Release|x64
{CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Release|Any CPU.Build.0 = Release|x64
{F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Release|Any CPU.Build.0 = Release|Any CPU
{BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Release|Any CPU.Build.0 = Release|Any CPU
{59CC81A3-3D97-469A-9C8B-533F920085F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{59CC81A3-3D97-469A-9C8B-533F920085F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{59CC81A3-3D97-469A-9C8B-533F920085F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{59CC81A3-3D97-469A-9C8B-533F920085F1}.Release|Any CPU.Build.0 = Release|Any CPU
{7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Release|Any CPU.Build.0 = Release|Any CPU
{6576FFFD-BA73-4123-8E4B-8589E5163C04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6576FFFD-BA73-4123-8E4B-8589E5163C04}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6576FFFD-BA73-4123-8E4B-8589E5163C04}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6576FFFD-BA73-4123-8E4B-8589E5163C04}.Release|Any CPU.Build.0 = Release|Any CPU
{C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Release|Any CPU.Build.0 = Release|Any CPU
{FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Release|Any CPU.Build.0 = Release|Any CPU
{3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Release|Any CPU.Build.0 = Release|Any CPU
{052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{D2382D2C-6576-4D96-B6CD-057C4F6BED96} = {526BA3EF-4E1D-48C1-9923-2485B63993EE}
{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D} = {526BA3EF-4E1D-48C1-9923-2485B63993EE}
{28980C99-77E7-4B62-8484-AF06C5745B8C} = {526BA3EF-4E1D-48C1-9923-2485B63993EE}
{7922A2F5-3585-4A60-98FB-1BDB4D5ECD29} = {526BA3EF-4E1D-48C1-9923-2485B63993EE}
{5563D61E-E25B-432E-8698-2193F51054FC} = {38987D23-2ED7-473A-9DE5-863E338EF18A}
{497012BC-959C-43A0-90A6-156A35DF2F43} = {38987D23-2ED7-473A-9DE5-863E338EF18A}
{269669D3-78D8-4AF3-A2AF-08D3446BD6BC} = {38987D23-2ED7-473A-9DE5-863E338EF18A}
{925DD842-4585-4D44-80BB-78E1FB7E9438} = {38987D23-2ED7-473A-9DE5-863E338EF18A}
{0E0654D0-C984-4397-BBCD-62ED80893551} = {CF199479-0DDD-4096-9587-6ACDB6D3D48D}
{32AA29FA-4124-4F8A-93C8-84E056ECEBC0} = {CF199479-0DDD-4096-9587-6ACDB6D3D48D}
{EB4C5A54-8D1F-4924-8890-26E735223576} = {CF199479-0DDD-4096-9587-6ACDB6D3D48D}
{7CD810A7-9BAA-4EF7-AC1F-F0CBB8F5899C} = {CF199479-0DDD-4096-9587-6ACDB6D3D48D}
{2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6} = {46C568CE-BA46-498F-9D8F-6293DED1BB94}
{CDCF4EEA-1CA4-412E-8C77-78893A67A577} = {46C568CE-BA46-498F-9D8F-6293DED1BB94}
{F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2} = {526BA3EF-4E1D-48C1-9923-2485B63993EE}
{BC560FF8-AB7A-4DA9-A1FD-99221447D370} = {526BA3EF-4E1D-48C1-9923-2485B63993EE}
{59CC81A3-3D97-469A-9C8B-533F920085F1} = {526BA3EF-4E1D-48C1-9923-2485B63993EE}
{7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD} = {38987D23-2ED7-473A-9DE5-863E338EF18A}
{6576FFFD-BA73-4123-8E4B-8589E5163C04} = {38987D23-2ED7-473A-9DE5-863E338EF18A}
{C8AE52BB-BFEE-4816-A9FE-8653CEE36C96} = {38987D23-2ED7-473A-9DE5-863E338EF18A}
{FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB} = {48C9730D-CA6C-47ED-B72C-DB9B6EE24D47}
{3CD8AB65-BA34-4BB9-862F-D31CE861560F} = {48C9730D-CA6C-47ED-B72C-DB9B6EE24D47}
{052E036D-6D60-4FCA-AA8E-4CF56BC2058D} = {48C9730D-CA6C-47ED-B72C-DB9B6EE24D47}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3BAF1393-35E4-45F1-AC56-4A22646B56E5}

Просмотреть файл

@ -1,51 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{D2382D2C-6576-4D96-B6CD-057C4F6BED96}</ProjectGuid>
<ProjectGuid>{F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Microsoft.ClearScript</RootNamespace>
<AssemblyName>ClearScript</AssemblyName>
<AssemblyName>ClearScript.Core</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>
</SccProvider>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
<OutputPath>..\bin\Debug\</OutputPath>
<UseVSHostingProcess>false</UseVSHostingProcess>
<DefineConstants>TRACE;DEBUG;NETFRAMEWORK</DefineConstants>
<DocumentationFile>bin\Debug\ClearScript.xml</DocumentationFile>
<ErrorReport>prompt</ErrorReport>
<DebugType>full</DebugType>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
<OutputPath>..\bin\Release\</OutputPath>
<UseVSHostingProcess>false</UseVSHostingProcess>
<DocumentationFile>bin\Release\ClearScript.xml</DocumentationFile>
<DefineConstants>TRACE;NETFRAMEWORK</DefineConstants>
<Optimize>true</Optimize>
<ErrorReport>prompt</ErrorReport>
<DebugType>pdbonly</DebugType>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;NETFRAMEWORK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Prefer32Bit>false</Prefer32Bit>
<DocumentationFile>..\bin\Debug\ClearScript.Core.xml</DocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\bin\Release\</OutputPath>
<DefineConstants>TRACE;NETFRAMEWORK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DocumentationFile>..\bin\Release\ClearScript.Core.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="Exists('$(SolutionDir)ClearScript.snk')">
<SignAssembly>true</SignAssembly>
@ -57,73 +46,118 @@
<DelaySign>true</DelaySign>
</PropertyGroup>
<ItemGroup>
<Reference Include="CustomMarshalers" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Numerics" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Content Include="DelegateFactory.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>DelegateFactory.Generated.cs</LastGenOutput>
</Content>
<Content Include="Exports\VersionSymbols.h">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>VersionSymbols.tt</DependentUpon>
</Content>
<Content Include="Exports\VersionSymbols.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>VersionSymbols.h</LastGenOutput>
</Content>
<Content Include="Properties\AssemblyInfo.Core.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>AssemblyInfo.Core.cs</LastGenOutput>
</Content>
</ItemGroup>
<ItemGroup>
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
</ItemGroup>
<ItemGroup>
<Compile Include="BindSignature.cs" />
<Compile Include="ByRefArg.cs" />
<Compile Include="CanonicalRefTable.cs" />
<Compile Include="DynamicHostMetaObject.cs" />
<Compile Include="HostItem.Windows.NetFramework.cs" />
<Compile Include="HostItem.Windows.cs" />
<Compile Include="HostSettings.cs" />
<Compile Include="ContinuationCallback.cs" />
<Compile Include="DefaultScriptUsageAttribute.cs" />
<Compile Include="DelegateFactory.cs" />
<Compile Include="DelegateFactory.Generated.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>DelegateFactory.tt</DependentUpon>
</Compile>
<Compile Include="Document.cs" />
<Compile Include="DocumentAccessFlags.cs" />
<Compile Include="DocumentCategory.cs" />
<Compile Include="DocumentContextCallback.cs" />
<Compile Include="DocumentLoadCallback.cs" />
<Compile Include="DocumentSettings.cs" />
<Compile Include="DocumentLoader.cs" />
<Compile Include="DocumentAccessFlags.cs" />
<Compile Include="Extensions.cs" />
<Compile Include="ContinuationCallback.cs" />
<Compile Include="DocumentFlags.cs" />
<Compile Include="DocumentInfo.cs" />
<Compile Include="Invocability.cs" />
<Compile Include="ImmutableValueAttribute.cs" />
<Compile Include="DocumentLoadCallback.cs" />
<Compile Include="DocumentLoader.cs" />
<Compile Include="DocumentSettings.cs" />
<Compile Include="DynamicHostMetaObject.cs" />
<Compile Include="DynamicHostObject.cs" />
<Compile Include="ExtensionMethods.cs" />
<Compile Include="Extensions.cs" />
<Compile Include="HostEvent.cs" />
<Compile Include="HostFunctions.cs" />
<Compile Include="HostIndexedProperty.cs" />
<Compile Include="HostItem.cs" />
<Compile Include="HostItem.InvokeMethod.cs" />
<Compile Include="HostItem.NetFramework.cs" />
<Compile Include="HostItemCollateral.cs" />
<Compile Include="HostItemFlags.cs" />
<Compile Include="HostTargetMemberData.cs" />
<Compile Include="HostList.cs" />
<Compile Include="HostMethod.cs" />
<Compile Include="HostObject.cs" />
<Compile Include="HostSettings.cs" />
<Compile Include="HostTarget.cs" />
<Compile Include="HostTargetFlags.cs" />
<Compile Include="HostTargetMemberData.cs" />
<Compile Include="HostType.cs" />
<Compile Include="HostTypeCollection.cs" />
<Compile Include="HostVariable.cs" />
<Compile Include="ImmutableValueAttribute.cs" />
<Compile Include="Invocability.cs" />
<Compile Include="IScriptableObject.cs" />
<Compile Include="BindSignature.cs" />
<Compile Include="IScriptEngineException.cs" />
<Compile Include="DefaultScriptUsageAttribute.cs" />
<Compile Include="JavaScript\CommonJSManager.cs" />
<Compile Include="JavaScript\CommonJSLegacyModule.cs" />
<Compile Include="JavaScript\IJavaScriptEngine.cs" />
<Compile Include="JavaScript\JavaScriptExtensions.cs" />
<Compile Include="JavaScript\CommonJSManager.cs" />
<Compile Include="JavaScript\IArrayBuffer.cs" />
<Compile Include="JavaScript\IArrayBufferView.cs" />
<Compile Include="JavaScript\IDataView.cs" />
<Compile Include="JavaScript\IJavaScriptEngine.cs" />
<Compile Include="JavaScript\ITypedArray.cs" />
<Compile Include="JavaScript\JavaScriptExtensions.cs" />
<Compile Include="JavaScript\ModuleCategory.cs" />
<Compile Include="NoDefaultScriptAccessAttribute.cs" />
<Compile Include="NoScriptAccessAttribute.cs" />
<Compile Include="Properties\AssemblyInfo.cs">
<Compile Include="Properties\AssemblyInfo.Core.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>AssemblyInfo.tt</DependentUpon>
<DependentUpon>AssemblyInfo.Core.tt</DependentUpon>
</Compile>
<Compile Include="DynamicHostObject.cs" />
<Compile Include="PropertyBag.cs" />
<Compile Include="ScriptAccess.cs" />
<Compile Include="ScriptEngine.cs" />
<Compile Include="ScriptEngineException.cs" />
<Compile Include="ScriptInterruptedException.cs" />
<Compile Include="ScriptItem.cs" />
<Compile Include="ScriptMemberAttribute.cs" />
<Compile Include="ScriptMemberFlags.cs" />
<Compile Include="ScriptMethod.cs" />
<Compile Include="ScriptMemberAttribute.cs" />
<Compile Include="ScriptObject.cs" />
<Compile Include="ScriptUsageAttribute.cs" />
<Compile Include="StringDocument.cs" />
<Compile Include="Undefined.cs" />
<Compile Include="UniqueDocumentInfo.cs" />
<Compile Include="Util\ArrayHelpers.cs" />
<Compile Include="Util\AssemblyHelpers.cs" />
<Compile Include="Util\AssemblyHelpers.NetFramework.cs" />
<Compile Include="Util\AssemblyTable.NetFramework.cs" />
<Compile Include="Util\BitwiseHelpers.cs" />
<Compile Include="Util\Collateral.cs" />
<Compile Include="Util\COM\ActivationHelpers.cs" />
<Compile Include="Util\COM\Dispatch.cs" />
<Compile Include="Util\COM\DispatchHelpers.cs" />
<Compile Include="Util\COM\DispatchMember.cs" />
<Compile Include="Util\COM\DispatchWrappers.cs" />
@ -132,155 +166,46 @@
<Compile Include="Util\COM\TypeInfoHelpers.cs" />
<Compile Include="Util\COM\TypeInfoHelpers.NetFramework.cs" />
<Compile Include="Util\COM\TypeLibHelpers.cs" />
<Compile Include="Util\MiscHelpers.Windows.cs" />
<Compile Include="Util\VTableHelpers.cs" />
<Compile Include="Util\COM\UnknownHelpers.cs" />
<Compile Include="Util\ConcurrentWeakSet.cs" />
<Compile Include="Util\CoTaskMemBlock.cs" />
<Compile Include="Util\DynamicHelpers.cs" />
<Compile Include="Util\EnumerableHelpers.cs" />
<Compile Include="Util\Holder.cs" />
<Compile Include="Util\OneWayFlag.cs" />
<Compile Include="HostList.cs" />
<Compile Include="Util\INativeCallback.cs" />
<Compile Include="Util\IDynamic.cs" />
<Compile Include="Util\IHostInvokeContext.cs" />
<Compile Include="Util\MemberComparer.cs" />
<Compile Include="Util\NativeCallbackTimer.cs" />
<Compile Include="Util\NativeMethods.Windows.cs" />
<Compile Include="Util\COM\Dispatch.cs" />
<Compile Include="Util\INativeCallback.cs" />
<Compile Include="Util\InvokeHelpers.cs" />
<Compile Include="Util\IScriptMarshalWrapper.cs" />
<Compile Include="Util\MemberComparer.cs" />
<Compile Include="Util\MemberHelpers.cs" />
<Compile Include="Util\MemberMap.cs" />
<Compile Include="Util\MiscHelpers.cs" />
<Compile Include="Util\MiscHelpers.NetFramework.cs" />
<Compile Include="Util\TypeGuidMocks.cs" />
<Compile Include="Util\NativeCallbackTimer.cs" />
<Compile Include="Util\NativeMethods.cs" />
<Compile Include="Util\Nonexistent.cs" />
<Compile Include="Util\ObjectHelpers.cs" />
<Compile Include="Util\OneWayFlag.cs" />
<Compile Include="Util\Scope.cs" />
<Compile Include="Util\SocketHelpers.cs" />
<Compile Include="Util\SpecialDispIDs.cs" />
<Compile Include="Util\SpecialMemberNames.cs" />
<Compile Include="Util\SpecialParamNames.cs" />
<Compile Include="Util\Test\AccessContextTestObject.cs" />
<Compile Include="Util\TypeGuids.cs" />
<Compile Include="Util\TypeHelpers.cs" />
<Compile Include="Util\TypeHelpers.NetFramework.cs" />
<Compile Include="Util\UniqueNameManager.cs" />
<Compile Include="Util\UnmanagedMemoryHelpers.cs" />
<Compile Include="Util\VTableHelpers.cs" />
<Compile Include="Util\VTablePatcher.cs" />
<Compile Include="Util\Web\WebContext.cs" />
<Compile Include="Util\Web\WebRequest.cs" />
<Compile Include="Util\Web\WebResponse.cs" />
<Compile Include="Util\UnmanagedMemoryHelpers.cs" />
<Compile Include="Util\VTablePatcher.cs" />
<Compile Include="Util\Web\WebSocket.cs" />
<Compile Include="V8\IV8DebugListener.cs" />
<Compile Include="V8\SplitProxy\IV8SplitProxyNative.cs" />
<Compile Include="V8\SplitProxy\NativeCallbackImpl.cs" />
<Compile Include="V8\SplitProxy\V8DebugListenerImpl.cs" />
<Compile Include="V8\SplitProxy\V8EntityHolder.cs" />
<Compile Include="V8\SplitProxy\V8ScriptImpl.cs" />
<Compile Include="V8\SplitProxy\V8SplitProxyHelpers.cs" />
<Compile Include="V8\SplitProxy\V8SplitProxyManaged.cs" />
<Compile Include="V8\SplitProxy\V8SplitProxyNative.cs" />
<Compile Include="V8\SplitProxy\V8ContextProxyImpl.cs" />
<Compile Include="V8\SplitProxy\V8IsolateProxyImpl.cs" />
<Compile Include="V8\SplitProxy\V8SplitProxyNative.Windows.32.cs" />
<Compile Include="V8\SplitProxy\V8SplitProxyNative.Windows.64.cs" />
<Compile Include="V8\SplitProxy\V8SplitProxyNative.Windows.cs" />
<Compile Include="V8\SplitProxy\V8ObjectImpl.cs" />
<Compile Include="V8\SplitProxy\V8TestProxyImpl.cs" />
<Compile Include="V8\V8ArrayBufferOrViewInfo.cs" />
<Compile Include="V8\V8ArrayBufferOrViewKind.cs" />
<Compile Include="V8\V8CacheKind.cs" />
<Compile Include="V8\V8CpuProfile.cs" />
<Compile Include="V8\V8CpuProfileFlags.cs" />
<Compile Include="V8\V8DebugAgent.cs" />
<Compile Include="V8\V8DebugClient.cs" />
<Compile Include="V8\V8Proxy.Windows.cs" />
<Compile Include="V8\V8RuntimeHeapInfo.cs" />
<Compile Include="V8\V8Script.cs" />
<Compile Include="V8\V8IsolateProxy.cs" />
<Compile Include="V8\V8Proxy.cs" />
<Compile Include="V8\V8RuntimeConstraints.cs" />
<Compile Include="V8\V8Runtime.cs" />
<Compile Include="V8\V8RuntimeFlags.cs" />
<Compile Include="V8\V8TestProxy.cs" />
<Compile Include="Windows\IHostWindow.cs" />
<Compile Include="Windows\IWindowsScriptObject.cs" />
<Compile Include="Windows\Nothing.cs" />
<Compile Include="Windows\WindowsScriptEngineFlags.cs" />
<Compile Include="Util\IDynamic.cs" />
<Compile Include="Util\SpecialMemberNames.cs" />
<Compile Include="Util\SpecialParamNames.cs" />
<Compile Include="V8\V8ScriptEngineFlags.cs" />
<Compile Include="Windows\WindowsScriptItem.cs" />
<Compile Include="HostIndexedProperty.cs" />
<Compile Include="HostMethod.cs" />
<Compile Include="ScriptEngine.cs" />
<Compile Include="Windows\ActiveXWrappers.cs" />
<Compile Include="DelegateFactory.cs" />
<Compile Include="DelegateFactory.Generated.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>DelegateFactory.tt</DependentUpon>
</Compile>
<Compile Include="HostTypeCollection.cs" />
<Compile Include="Util\ArrayHelpers.cs" />
<Compile Include="Util\AssemblyTable.NetFramework.cs" />
<Compile Include="Util\DynamicHelpers.cs" />
<Compile Include="Util\EnumerableHelpers.cs" />
<Compile Include="Util\InvokeHelpers.cs" />
<Compile Include="ByRefArg.cs" />
<Compile Include="ExtensionMethods.cs" />
<Compile Include="HostFunctions.cs" />
<Compile Include="HostEvent.cs" />
<Compile Include="HostItem.InvokeMethod.cs" />
<Compile Include="HostObject.cs" />
<Compile Include="HostTarget.cs" />
<Compile Include="Windows\ActiveXDebugging.cs" />
<Compile Include="Windows\ActiveXScripting.cs" />
<Compile Include="HostItem.cs" />
<Compile Include="HostVariable.cs" />
<Compile Include="Windows\JScriptEngine.cs" />
<None Include="Properties\AssemblyInfo.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>AssemblyInfo.cs</LastGenOutput>
</None>
<Compile Include="PropertyBag.cs" />
<Compile Include="Windows\WindowsScriptEngine.cs" />
<Compile Include="Windows\WindowsScriptEngine.Debug.cs" />
<Compile Include="ScriptItem.cs" />
<Compile Include="Windows\WindowsScriptEngine.Site.cs" />
<Compile Include="HostType.cs" />
<Compile Include="Util\MiscHelpers.cs" />
<Compile Include="Util\Nonexistent.cs" />
<Compile Include="Util\ObjectHelpers.cs" />
<Compile Include="Util\ObjectHelpers.Windows.cs" />
<Compile Include="Util\COM\UnknownHelpers.cs" />
<Compile Include="Util\TypeHelpers.cs" />
<Compile Include="Undefined.cs" />
<Compile Include="Util\UniqueNameManager.cs" />
<Compile Include="VoidResult.cs" />
<Compile Include="Util\ConcurrentWeakSet.cs" />
<Compile Include="Windows\VBScriptEngine.cs" />
<Compile Include="V8\IV8Object.cs" />
<Compile Include="V8\V8ContextProxy.cs" />
<Compile Include="V8\V8ProxyHelpers.cs" />
<Compile Include="V8\V8ScriptEngine.cs" />
<Compile Include="V8\V8ScriptItem.cs" />
</ItemGroup>
<ItemGroup>
<None Include="DelegateFactory.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>DelegateFactory.Generated.cs</LastGenOutput>
</None>
<None Include="Exports\VersionSymbols.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>VersionSymbols.h</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
</ItemGroup>
<ItemGroup>
<None Include="Exports\VersionSymbols.h">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>VersionSymbols.tt</DependentUpon>
</None>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{59CC81A3-3D97-469A-9C8B-533F920085F1}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Microsoft.ClearScript</RootNamespace>
<AssemblyName>ClearScript.V8</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;NETFRAMEWORK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DocumentationFile>..\bin\Debug\ClearScript.V8.xml</DocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\bin\Release\</OutputPath>
<DefineConstants>TRACE;NETFRAMEWORK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DocumentationFile>..\bin\Release\ClearScript.V8.xml</DocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition="Exists('$(SolutionDir)ClearScript.snk')">
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(SolutionDir)ClearScript.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup Condition="!Exists('$(SolutionDir)ClearScript.snk') And Exists('$(SolutionDir)ClearScript.DelaySign.snk')">
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(SolutionDir)ClearScript.DelaySign.snk</AssemblyOriginatorKeyFile>
<DelaySign>true</DelaySign>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Numerics" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="ClearScript.Core.csproj">
<Project>{f1022c3f-afbc-4f23-b4de-c6c0742aeff2}</Project>
<Name>ClearScript.Core</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.V8.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>AssemblyInfo.V8.tt</DependentUpon>
</Compile>
<Compile Include="V8\IV8DebugListener.cs" />
<Compile Include="V8\IV8Object.cs" />
<Compile Include="V8\SplitProxy\IV8SplitProxyNative.cs" />
<Compile Include="V8\SplitProxy\NativeCallbackImpl.cs" />
<Compile Include="V8\SplitProxy\V8ContextProxyImpl.cs" />
<Compile Include="V8\SplitProxy\V8DebugListenerImpl.cs" />
<Compile Include="V8\SplitProxy\V8EntityHolder.cs" />
<Compile Include="V8\SplitProxy\V8IsolateProxyImpl.cs" />
<Compile Include="V8\SplitProxy\V8ObjectImpl.cs" />
<Compile Include="V8\SplitProxy\V8ScriptImpl.cs" />
<Compile Include="V8\SplitProxy\V8SplitProxyHelpers.cs" />
<Compile Include="V8\SplitProxy\V8SplitProxyManaged.cs" />
<Compile Include="V8\SplitProxy\V8SplitProxyNative.cs" />
<Compile Include="V8\SplitProxy\V8SplitProxyNative.Generated.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>V8SplitProxyNative.tt</DependentUpon>
</Compile>
<Compile Include="V8\SplitProxy\V8SplitProxyNative.NetFramework.cs" />
<Compile Include="V8\SplitProxy\V8TestProxyImpl.cs" />
<Compile Include="V8\V8ArrayBufferOrViewInfo.cs" />
<Compile Include="V8\V8ArrayBufferOrViewKind.cs" />
<Compile Include="V8\V8CacheKind.cs" />
<Compile Include="V8\V8ContextProxy.cs" />
<Compile Include="V8\V8CpuProfile.cs" />
<Compile Include="V8\V8CpuProfileFlags.cs" />
<Compile Include="V8\V8DebugAgent.cs" />
<Compile Include="V8\V8DebugClient.cs" />
<Compile Include="V8\V8IsolateProxy.cs" />
<Compile Include="V8\V8Proxy.cs" />
<Compile Include="V8\V8Proxy.NetFramework.cs" />
<Compile Include="V8\V8ProxyHelpers.cs" />
<Compile Include="V8\V8Runtime.cs" />
<Compile Include="V8\V8RuntimeConstraints.cs" />
<Compile Include="V8\V8RuntimeFlags.cs" />
<Compile Include="V8\V8RuntimeHeapInfo.cs" />
<Compile Include="V8\V8Script.cs" />
<Compile Include="V8\V8ScriptEngine.cs" />
<Compile Include="V8\V8ScriptEngineFlags.cs" />
<Compile Include="V8\V8ScriptItem.cs" />
<Compile Include="V8\V8TestProxy.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="Properties\AssemblyInfo.V8.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>AssemblyInfo.V8.cs</LastGenOutput>
</Content>
<Content Include="V8\SplitProxy\V8SplitProxyNative.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>V8SplitProxyNative.Generated.cs</LastGenOutput>
</Content>
</ItemGroup>
<ItemGroup>
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

Просмотреть файл

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{BC560FF8-AB7A-4DA9-A1FD-99221447D370}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Microsoft.ClearScript</RootNamespace>
<AssemblyName>ClearScript.Windows</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;NETFRAMEWORK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DocumentationFile>..\bin\Debug\ClearScript.Windows.xml</DocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\bin\Release\</OutputPath>
<DefineConstants>TRACE;NETFRAMEWORK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DocumentationFile>..\bin\Release\ClearScript.Windows.xml</DocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition="Exists('$(SolutionDir)ClearScript.snk')">
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(SolutionDir)ClearScript.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup Condition="!Exists('$(SolutionDir)ClearScript.snk') And Exists('$(SolutionDir)ClearScript.DelaySign.snk')">
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(SolutionDir)ClearScript.DelaySign.snk</AssemblyOriginatorKeyFile>
<DelaySign>true</DelaySign>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="ClearScript.Core.csproj">
<Project>{f1022c3f-afbc-4f23-b4de-c6c0742aeff2}</Project>
<Name>ClearScript.Core</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.Windows.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>AssemblyInfo.Windows.tt</DependentUpon>
</Compile>
<Compile Include="Windows\ActiveXDebugging.cs" />
<Compile Include="Windows\ActiveXScripting.cs" />
<Compile Include="Windows\ActiveXWrappers.cs" />
<Compile Include="Windows\IHostWindow.cs" />
<Compile Include="Windows\IWindowsScriptObject.cs" />
<Compile Include="Windows\JScriptEngine.cs" />
<Compile Include="Windows\Nothing.cs" />
<Compile Include="Windows\VBScriptEngine.cs" />
<Compile Include="Windows\WindowsScriptEngine.cs" />
<Compile Include="Windows\WindowsScriptEngine.Debug.cs" />
<Compile Include="Windows\WindowsScriptEngine.Site.cs" />
<Compile Include="Windows\WindowsScriptEngineFlags.cs" />
<Compile Include="Windows\WindowsScriptItem.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="Properties\AssemblyInfo.Windows.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>AssemblyInfo.Windows.cs</LastGenOutput>
</Content>
</ItemGroup>
<ItemGroup>
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

Просмотреть файл

@ -7,5 +7,5 @@
#define CLEARSCRIPT_VERSION_STRING "7.0.0"
#define CLEARSCRIPT_VERSION_COMMA_SEPARATED 7,0,0
#define CLEARSCRIPT_VERSION_STRING_INFORMATIONAL "7.0.0-rc4"
#define CLEARSCRIPT_VERSION_STRING_INFORMATIONAL "7.0.0-rc5"
#define CLEARSCRIPT_FILE_FLAGS VS_FF_PRERELEASE

Просмотреть файл

@ -18,6 +18,11 @@ namespace Microsoft.ClearScript
private static HostItem Create(ScriptEngine engine, HostTarget target, HostItemFlags flags)
{
if (!MiscHelpers.PlatformIsWindows())
{
return new HostItem(engine, target, flags);
}
return TargetSupportsExpandoMembers(target, flags) ? new DispatchExHostItem(engine, target, flags) : new HostItem(engine, target, flags);
}

Просмотреть файл

@ -1,30 +0,0 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
using System.Runtime.InteropServices;
namespace Microsoft.ClearScript
{
internal partial class HostItem
{
#region initialization
private static HostItem Create(ScriptEngine engine, HostTarget target, HostItemFlags flags)
{
return new HostItem(engine, target, flags);
}
#endregion
#region ICustomQueryInterface implementation
public CustomQueryInterfaceResult GetInterface(ref Guid iid, out IntPtr pInterface)
{
pInterface = IntPtr.Zero;
return CustomQueryInterfaceResult.NotHandled;
}
#endregion
}
}

Просмотреть файл

@ -1,231 +0,0 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
using System.Dynamic;
using System.Globalization;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
using System.Runtime.InteropServices.Expando;
using Microsoft.ClearScript.Util;
using Microsoft.ClearScript.Util.COM;
namespace Microsoft.ClearScript
{
internal partial class HostItem
{
#region data
internal static bool EnableVTablePatching;
[ThreadStatic] private static bool bypassVTablePatching;
#endregion
#region initialization
private static bool TargetSupportsExpandoMembers(HostTarget target, HostItemFlags flags)
{
if (!TargetSupportsSpecialTargets(target))
{
return false;
}
if (typeof(IDynamic).IsAssignableFrom(target.Type))
{
return true;
}
if (target is IHostVariable)
{
if (target.Type.IsImport)
{
return true;
}
}
else
{
if ((target.InvokeTarget is IDispatchEx dispatchEx) && dispatchEx.GetType().IsCOMObject)
{
return true;
}
}
if (typeof(IPropertyBag).IsAssignableFrom(target.Type))
{
return true;
}
if (!flags.HasFlag(HostItemFlags.HideDynamicMembers) && typeof(IDynamicMetaObjectProvider).IsAssignableFrom(target.Type))
{
return true;
}
return false;
}
private bool CanAddExpandoMembers()
{
return (TargetDynamic != null) || ((TargetPropertyBag != null) && !TargetPropertyBag.IsReadOnly) || (TargetDynamicMetaObject != null);
}
#endregion
#region ICustomQueryInterface implementation
public CustomQueryInterfaceResult GetInterface(ref Guid iid, out IntPtr pInterface)
{
if (iid == typeof(IEnumVARIANT).GUID)
{
if ((Target is HostObject) || (Target is IHostVariable) || (Target is IByRefArg))
{
pInterface = IntPtr.Zero;
return BindSpecialTarget(Collateral.TargetEnumerator) ? CustomQueryInterfaceResult.NotHandled : CustomQueryInterfaceResult.Failed;
}
}
else if (iid == typeof(IDispatchEx).GUID)
{
if (EnableVTablePatching && !bypassVTablePatching)
{
var pUnknown = Marshal.GetIUnknownForObject(this);
bypassVTablePatching = true;
pInterface = UnknownHelpers.QueryInterfaceNoThrow<IDispatchEx>(pUnknown);
bypassVTablePatching = false;
Marshal.Release(pUnknown);
if (pInterface != IntPtr.Zero)
{
VTablePatcher.GetInstance().PatchDispatchEx(pInterface);
return CustomQueryInterfaceResult.Handled;
}
}
}
pInterface = IntPtr.Zero;
return CustomQueryInterfaceResult.NotHandled;
}
#endregion
#region Nested type: ExpandoHostItem
private class ExpandoHostItem : HostItem, IExpando
{
#region constructors
// ReSharper disable MemberCanBeProtected.Local
public ExpandoHostItem(ScriptEngine engine, HostTarget target, HostItemFlags flags)
: base(engine, target, flags)
{
}
// ReSharper restore MemberCanBeProtected.Local
#endregion
#region IExpando implementation
FieldInfo IExpando.AddField(string name)
{
return HostInvoke(() =>
{
if (CanAddExpandoMembers())
{
AddExpandoMemberName(name);
return MemberMap.GetField(name);
}
throw new NotSupportedException("The object does not support dynamic fields");
});
}
PropertyInfo IExpando.AddProperty(string name)
{
return HostInvoke(() =>
{
if (CanAddExpandoMembers())
{
AddExpandoMemberName(name);
return MemberMap.GetProperty(name);
}
throw new NotSupportedException("The object does not support dynamic properties");
});
}
MethodInfo IExpando.AddMethod(string name, Delegate method)
{
throw new NotImplementedException();
}
void IExpando.RemoveMember(MemberInfo member)
{
RemoveMember(member.Name);
}
protected virtual bool RemoveMember(string name)
{
return HostInvoke(() =>
{
if (TargetDynamic != null)
{
if (int.TryParse(name, NumberStyles.Integer, CultureInfo.InvariantCulture, out var index))
{
if (TargetDynamic.DeleteProperty(index))
{
RemoveExpandoMemberName(index.ToString(CultureInfo.InvariantCulture));
return true;
}
}
else if (TargetDynamic.DeleteProperty(name))
{
RemoveExpandoMemberName(name);
return true;
}
}
else if (TargetPropertyBag != null)
{
if (TargetPropertyBag.Remove(name))
{
RemoveExpandoMemberName(name);
return true;
}
}
else if (TargetDynamicMetaObject != null)
{
if (TargetDynamicMetaObject.TryDeleteMember(name, out var result) && result)
{
RemoveExpandoMemberName(name);
return true;
}
if (int.TryParse(name, NumberStyles.Integer, CultureInfo.InvariantCulture, out var index) && TargetDynamicMetaObject.TryDeleteIndex(new object[] { index }, out result))
{
RemoveExpandoMemberName(index.ToString(CultureInfo.InvariantCulture));
return true;
}
if (TargetDynamicMetaObject.TryDeleteIndex(new object[] { name }, out result))
{
RemoveExpandoMemberName(name);
return true;
}
}
else
{
throw new NotSupportedException("The object does not support dynamic members");
}
return false;
});
}
#endregion
}
#endregion
}
}

Просмотреть файл

@ -12,9 +12,9 @@ using System.Linq.Expressions;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
using System.Runtime.InteropServices.Expando;
using Microsoft.ClearScript.Util;
using Microsoft.ClearScript.Util.COM;
using Microsoft.ClearScript.Windows;
namespace Microsoft.ClearScript
{
@ -29,6 +29,9 @@ namespace Microsoft.ClearScript
typeof(Delegate).GetProperty("Method")
};
internal static bool EnableVTablePatching;
[ThreadStatic] private static bool bypassVTablePatching;
#endregion
#region constructors
@ -393,6 +396,51 @@ namespace Microsoft.ClearScript
#region initialization
private static bool TargetSupportsExpandoMembers(HostTarget target, HostItemFlags flags)
{
if (!TargetSupportsSpecialTargets(target))
{
return false;
}
if (typeof(IDynamic).IsAssignableFrom(target.Type))
{
return true;
}
if (target is IHostVariable)
{
if (target.Type.IsImport)
{
return true;
}
}
else
{
if ((target.InvokeTarget is IDispatchEx dispatchEx) && dispatchEx.GetType().IsCOMObject)
{
return true;
}
}
if (typeof(IPropertyBag).IsAssignableFrom(target.Type))
{
return true;
}
if (!flags.HasFlag(HostItemFlags.HideDynamicMembers) && typeof(IDynamicMetaObjectProvider).IsAssignableFrom(target.Type))
{
return true;
}
return false;
}
private bool CanAddExpandoMembers()
{
return (TargetDynamic != null) || ((TargetPropertyBag != null) && !TargetPropertyBag.IsReadOnly) || (TargetDynamicMetaObject != null);
}
private static object BindOrCreate(ScriptEngine engine, object target, Type type, HostItemFlags flags)
{
return BindOrCreate(engine, HostObject.Wrap(target, type), flags);
@ -1602,13 +1650,13 @@ namespace Microsoft.ClearScript
}
var value = args[args.Length - 1];
if ((value != null) && (Engine is VBScriptEngine))
if ((value != null) && Engine.GetType().IsGuidType<TypeGuidMocks.VBScriptEngine>())
{
// special case to emulate VBScript's default property handling
if (value is WindowsScriptItem scriptItem)
if (value.GetType().IsGuidType<TypeGuidMocks.WindowsScriptItem>())
{
var defaultValue = scriptItem.GetProperty(SpecialMemberNames.Default);
var defaultValue = ((IDynamic)value).GetProperty(SpecialMemberNames.Default);
if (!(defaultValue is Undefined))
{
value = defaultValue;
@ -2065,6 +2113,50 @@ namespace Microsoft.ClearScript
#endregion
#region ICustomQueryInterface implementation
public CustomQueryInterfaceResult GetInterface(ref Guid iid, out IntPtr pInterface)
{
if (!MiscHelpers.PlatformIsWindows())
{
pInterface = IntPtr.Zero;
return CustomQueryInterfaceResult.NotHandled;
}
if (iid == typeof(IEnumVARIANT).GUID)
{
if ((Target is HostObject) || (Target is IHostVariable) || (Target is IByRefArg))
{
pInterface = IntPtr.Zero;
return BindSpecialTarget(Collateral.TargetEnumerator) ? CustomQueryInterfaceResult.NotHandled : CustomQueryInterfaceResult.Failed;
}
}
else if (iid == typeof(IDispatchEx).GUID)
{
if (EnableVTablePatching && !bypassVTablePatching)
{
var pUnknown = Marshal.GetIUnknownForObject(this);
bypassVTablePatching = true;
pInterface = UnknownHelpers.QueryInterfaceNoThrow<IDispatchEx>(pUnknown);
bypassVTablePatching = false;
Marshal.Release(pUnknown);
if (pInterface != IntPtr.Zero)
{
VTablePatcher.GetInstance().PatchDispatchEx(pInterface);
return CustomQueryInterfaceResult.Handled;
}
}
}
pInterface = IntPtr.Zero;
return CustomQueryInterfaceResult.NotHandled;
}
#endregion
#region IScriptMarshalWrapper implementation
public ScriptEngine Engine { get; }
@ -2085,5 +2177,124 @@ namespace Microsoft.ClearScript
public HostTargetFlags TargetFlags => CachedTargetFlags;
#endregion
#region Nested type: ExpandoHostItem
private class ExpandoHostItem : HostItem, IExpando
{
#region constructors
// ReSharper disable MemberCanBeProtected.Local
public ExpandoHostItem(ScriptEngine engine, HostTarget target, HostItemFlags flags)
: base(engine, target, flags)
{
}
// ReSharper restore MemberCanBeProtected.Local
#endregion
#region IExpando implementation
FieldInfo IExpando.AddField(string name)
{
return HostInvoke(() =>
{
if (CanAddExpandoMembers())
{
AddExpandoMemberName(name);
return MemberMap.GetField(name);
}
throw new NotSupportedException("The object does not support dynamic fields");
});
}
PropertyInfo IExpando.AddProperty(string name)
{
return HostInvoke(() =>
{
if (CanAddExpandoMembers())
{
AddExpandoMemberName(name);
return MemberMap.GetProperty(name);
}
throw new NotSupportedException("The object does not support dynamic properties");
});
}
MethodInfo IExpando.AddMethod(string name, Delegate method)
{
throw new NotImplementedException();
}
void IExpando.RemoveMember(MemberInfo member)
{
RemoveMember(member.Name);
}
protected virtual bool RemoveMember(string name)
{
return HostInvoke(() =>
{
if (TargetDynamic != null)
{
if (int.TryParse(name, NumberStyles.Integer, CultureInfo.InvariantCulture, out var index))
{
if (TargetDynamic.DeleteProperty(index))
{
RemoveExpandoMemberName(index.ToString(CultureInfo.InvariantCulture));
return true;
}
}
else if (TargetDynamic.DeleteProperty(name))
{
RemoveExpandoMemberName(name);
return true;
}
}
else if (TargetPropertyBag != null)
{
if (TargetPropertyBag.Remove(name))
{
RemoveExpandoMemberName(name);
return true;
}
}
else if (TargetDynamicMetaObject != null)
{
if (TargetDynamicMetaObject.TryDeleteMember(name, out var result) && result)
{
RemoveExpandoMemberName(name);
return true;
}
if (int.TryParse(name, NumberStyles.Integer, CultureInfo.InvariantCulture, out var index) && TargetDynamicMetaObject.TryDeleteIndex(new object[] { index }, out result))
{
RemoveExpandoMemberName(index.ToString(CultureInfo.InvariantCulture));
return true;
}
if (TargetDynamicMetaObject.TryDeleteIndex(new object[] { name }, out result))
{
RemoveExpandoMemberName(name);
return true;
}
}
else
{
throw new NotSupportedException("The object does not support dynamic members");
}
return false;
});
}
#endregion
}
#endregion
}
}

Просмотреть файл

@ -9,21 +9,23 @@ using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("ClearScript Library")]
[assembly: AssemblyTitle("ClearScript Core Library")]
[assembly: AssemblyProduct("ClearScript")]
[assembly: AssemblyCopyright("(c) Microsoft Corporation")]
[assembly: InternalsVisibleTo("ClearScript.V8")]
[assembly: InternalsVisibleTo("ClearScript.Windows")]
[assembly: InternalsVisibleTo("ClearScriptTest")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("7.0.0")]
[assembly: AssemblyFileVersion("7.0.0")]
[assembly: AssemblyInformationalVersion("7.0.0-rc4")]
[assembly: AssemblyInformationalVersion("7.0.0-rc5")]
namespace Microsoft.ClearScript.Properties
{
internal static class ClearScriptVersion
{
public const string Triad = "7.0.0";
public const string Informational = "7.0.0-rc4";
public const string Informational = "7.0.0-rc5";
}
}

Просмотреть файл

@ -34,9 +34,11 @@ using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("ClearScript Library")]
[assembly: AssemblyTitle("ClearScript Core Library")]
[assembly: AssemblyProduct("ClearScript")]
[assembly: AssemblyCopyright("(c) Microsoft Corporation")]
[assembly: InternalsVisibleTo("<#= "ClearScript.V8" + publicKeySpec #>")]
[assembly: InternalsVisibleTo("<#= "ClearScript.Windows" + publicKeySpec #>")]
[assembly: InternalsVisibleTo("<#= "ClearScriptTest" + publicKeySpec #>")]
[assembly: ComVisible(false)]

Просмотреть файл

@ -0,0 +1,20 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("ClearScript V8 Library")]
[assembly: AssemblyProduct("ClearScript")]
[assembly: AssemblyCopyright("(c) Microsoft Corporation")]
[assembly: InternalsVisibleTo("ClearScriptTest")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("7.0.0")]
[assembly: AssemblyFileVersion("7.0.0")]
[assembly: AssemblyInformationalVersion("7.0.0-rc5")]

Просмотреть файл

@ -0,0 +1,45 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ output extension=".cs" #>
<#@ include file="..\..\Version.tt" #>
<#@ assembly name="EnvDTE" #>
<#@ import namespace="EnvDTE" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Reflection" #>
<#
var dte = (DTE)((IServiceProvider)Host).GetService(typeof(DTE));
var solutionPath = Path.GetDirectoryName(dte.Solution.FullName);
var keyFilePath = Path.Combine(solutionPath, "ClearScript.snk");
var delaySignKeyFilePath = Path.Combine(solutionPath, "ClearScript.DelaySign.snk");
var publicKeySpec = string.Empty;
if (File.Exists(keyFilePath))
{
using (var stream = new FileStream(keyFilePath, FileMode.Open, FileAccess.Read, FileShare.Read))
{
var keyPair = new StrongNameKeyPair(stream);
publicKeySpec = ", PublicKey=" + BitConverter.ToString(keyPair.PublicKey).Replace("-", string.Empty);
}
}
else if (File.Exists(delaySignKeyFilePath))
{
publicKeySpec = ", PublicKey=" + BitConverter.ToString(File.ReadAllBytes(delaySignKeyFilePath)).Replace("-", string.Empty);
}
#>
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("ClearScript V8 Library")]
[assembly: AssemblyProduct("ClearScript")]
[assembly: AssemblyCopyright("(c) Microsoft Corporation")]
[assembly: InternalsVisibleTo("<#= "ClearScriptTest" + publicKeySpec #>")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("<#= version.ToString(3) #>")]
[assembly: AssemblyFileVersion("<#= version.ToString(3) #>")]
[assembly: AssemblyInformationalVersion("<#= version.ToString(3) + versionSuffix #>")]

Просмотреть файл

@ -0,0 +1,20 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("ClearScript Windows Library")]
[assembly: AssemblyProduct("ClearScript")]
[assembly: AssemblyCopyright("(c) Microsoft Corporation")]
[assembly: InternalsVisibleTo("ClearScriptTest")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("7.0.0")]
[assembly: AssemblyFileVersion("7.0.0")]
[assembly: AssemblyInformationalVersion("7.0.0-rc5")]

Просмотреть файл

@ -0,0 +1,45 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ output extension=".cs" #>
<#@ include file="..\..\Version.tt" #>
<#@ assembly name="EnvDTE" #>
<#@ import namespace="EnvDTE" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Reflection" #>
<#
var dte = (DTE)((IServiceProvider)Host).GetService(typeof(DTE));
var solutionPath = Path.GetDirectoryName(dte.Solution.FullName);
var keyFilePath = Path.Combine(solutionPath, "ClearScript.snk");
var delaySignKeyFilePath = Path.Combine(solutionPath, "ClearScript.DelaySign.snk");
var publicKeySpec = string.Empty;
if (File.Exists(keyFilePath))
{
using (var stream = new FileStream(keyFilePath, FileMode.Open, FileAccess.Read, FileShare.Read))
{
var keyPair = new StrongNameKeyPair(stream);
publicKeySpec = ", PublicKey=" + BitConverter.ToString(keyPair.PublicKey).Replace("-", string.Empty);
}
}
else if (File.Exists(delaySignKeyFilePath))
{
publicKeySpec = ", PublicKey=" + BitConverter.ToString(File.ReadAllBytes(delaySignKeyFilePath)).Replace("-", string.Empty);
}
#>
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("ClearScript Windows Library")]
[assembly: AssemblyProduct("ClearScript")]
[assembly: AssemblyCopyright("(c) Microsoft Corporation")]
[assembly: InternalsVisibleTo("<#= "ClearScriptTest" + publicKeySpec #>")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("<#= version.ToString(3) #>")]
[assembly: AssemblyFileVersion("<#= version.ToString(3) #>")]
[assembly: AssemblyInformationalVersion("<#= version.ToString(3) + versionSuffix #>")]

Просмотреть файл

@ -0,0 +1,45 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System.Runtime.InteropServices;
namespace Microsoft.ClearScript.Util
{
internal static partial class MiscHelpers
{
#region miscellaneous
public static bool PlatformIsWindows()
{
return RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
}
public static bool ProcessorArchitectureIsIntel()
{
switch (RuntimeInformation.ProcessArchitecture)
{
case Architecture.X64:
case Architecture.X86:
return true;
default:
return false;
}
}
public static bool ProcessorArchitectureIsArm()
{
switch (RuntimeInformation.ProcessArchitecture)
{
case Architecture.Arm:
case Architecture.Arm64:
return true;
default:
return false;
}
}
#endregion
}
}

Просмотреть файл

@ -9,7 +9,12 @@ namespace Microsoft.ClearScript.Util
{
#region miscellaneous
public static bool IsX86InstructionSet()
public static bool PlatformIsWindows()
{
return true;
}
public static bool ProcessorArchitectureIsIntel()
{
SystemInfo info;
try
@ -26,6 +31,23 @@ namespace Microsoft.ClearScript.Util
(info.ProcessorArchitecture == 9 /*PROCESSOR_ARCHITECTURE_AMD64*/));
}
public static bool ProcessorArchitectureIsArm()
{
SystemInfo info;
try
{
NativeMethods.GetNativeSystemInfo(out info);
}
catch (EntryPointNotFoundException)
{
NativeMethods.GetSystemInfo(out info);
}
return
((info.ProcessorArchitecture == 5 /*PROCESSOR_ARCHITECTURE_ARM*/) ||
(info.ProcessorArchitecture == 12 /*PROCESSOR_ARCHITECTURE_ARM64*/));
}
#endregion
}
}

Просмотреть файл

@ -1,9 +0,0 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
namespace Microsoft.ClearScript.Util
{
internal static partial class MiscHelpers
{
}
}

Просмотреть файл

@ -1,39 +0,0 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
using Microsoft.ClearScript.Util.COM;
namespace Microsoft.ClearScript.Util
{
internal static class NativeMethods
{
public static int CLSIDFromProgID(string progID, out Guid clsid)
{
clsid = Guid.Empty;
return HResult.CO_E_CLASSSTRING;
}
public static int ProgIDFromCLSID(ref Guid clsid, out string progID)
{
progID = null;
return HResult.REGDB_E_CLASSNOTREG;
}
public static int CoCreateInstance(ref Guid clsid, IntPtr pOuter, uint clsContext, ref Guid iid, out IntPtr pInterface)
{
pInterface = IntPtr.Zero;
return HResult.REGDB_E_CLASSNOTREG;
}
public static void VariantInit(IntPtr pVariant)
{
throw new PlatformNotSupportedException();
}
public static uint VariantClear(IntPtr pVariant)
{
throw new PlatformNotSupportedException();
}
}
}

Просмотреть файл

@ -1,113 +0,0 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
using System.Runtime.InteropServices;
namespace Microsoft.ClearScript.Util
{
[StructLayout(LayoutKind.Sequential)]
internal struct SystemInfo
{
public ushort ProcessorArchitecture;
public ushort Reserved;
public uint PageSize;
public IntPtr MinimumApplicationAddress;
public IntPtr MaximumApplicationAddress;
public IntPtr ActiveProcessorMask;
public uint NumberOfProcessors;
public uint ProcessorType;
public uint AllocationGranularity;
public ushort ProcessorLevel;
public ushort ProcessorRevision;
}
internal static class NativeMethods
{
[DllImport("kernel32", ExactSpelling = true, SetLastError = true)]
public static extern IntPtr LoadLibraryW(
[In] [MarshalAs(UnmanagedType.LPWStr)] string path
);
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool FreeLibrary(
[In] IntPtr hLibrary
);
[DllImport("ole32.dll", ExactSpelling = true)]
public static extern uint CLSIDFromProgID(
[In] [MarshalAs(UnmanagedType.LPWStr)] string progID,
[Out] out Guid clsid
);
[DllImport("ole32.dll")]
public static extern uint ProgIDFromCLSID(
[In] ref Guid clsid,
[Out] [MarshalAs(UnmanagedType.LPWStr)] out string progID
);
[DllImport("ole32.dll", ExactSpelling = true)]
public static extern uint CoCreateInstance(
[In] ref Guid clsid,
[In] IntPtr pOuter,
[In] uint clsContext,
[In] ref Guid iid,
[Out] out IntPtr pInterface
);
[DllImport("oleaut32.dll", ExactSpelling = true)]
public static extern void VariantInit(
[In] IntPtr pVariant
);
[DllImport("oleaut32.dll", ExactSpelling = true)]
public static extern uint VariantClear(
[In] IntPtr pVariant
);
[DllImport("kernel32.dll", SetLastError = true)]
public static extern IntPtr HeapCreate(
[In] uint options,
[In] UIntPtr initialSize,
[In] UIntPtr maximumSize
);
[DllImport("kernel32.dll", SetLastError = false)]
public static extern IntPtr HeapAlloc(
[In] IntPtr hHeap,
[In] uint flags,
[In] UIntPtr size
);
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool HeapFree(
[In] IntPtr hHeap,
[In] uint flags,
[In] IntPtr pBlock
);
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool HeapDestroy(
[In] IntPtr hHeap
);
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool VirtualProtect(
[In] IntPtr pBlock,
[In] UIntPtr size,
[In] uint newProtect,
[Out] out uint oldProtect
);
[DllImport("kernel32.dll", SetLastError = false)]
public static extern void GetSystemInfo(
[Out] out SystemInfo info
);
[DllImport("kernel32.dll")]
public static extern void GetNativeSystemInfo(
[Out] out SystemInfo info
);
}
}

Просмотреть файл

@ -0,0 +1,270 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
using System.Runtime.InteropServices;
namespace Microsoft.ClearScript.Util
{
[StructLayout(LayoutKind.Sequential)]
internal struct SystemInfo
{
public ushort ProcessorArchitecture;
public ushort Reserved;
public uint PageSize;
public IntPtr MinimumApplicationAddress;
public IntPtr MaximumApplicationAddress;
public IntPtr ActiveProcessorMask;
public uint NumberOfProcessors;
public uint ProcessorType;
public uint AllocationGranularity;
public ushort ProcessorLevel;
public ushort ProcessorRevision;
}
internal static class NativeMethods
{
public static IntPtr LoadLibraryW(string path)
{
if (MiscHelpers.PlatformIsWindows())
{
return NativeWindowsMethods.LoadLibraryW(path);
}
throw new PlatformNotSupportedException();
}
public static bool FreeLibrary(IntPtr hLibrary)
{
if (MiscHelpers.PlatformIsWindows())
{
return NativeWindowsMethods.FreeLibrary(hLibrary);
}
throw new PlatformNotSupportedException();
}
public static uint CLSIDFromProgID(string progID, out Guid clsid)
{
if (MiscHelpers.PlatformIsWindows())
{
return NativeWindowsMethods.CLSIDFromProgID(progID, out clsid);
}
throw new PlatformNotSupportedException();
}
public static uint ProgIDFromCLSID(ref Guid clsid, out string progID)
{
if (MiscHelpers.PlatformIsWindows())
{
return NativeWindowsMethods.ProgIDFromCLSID(ref clsid, out progID);
}
throw new PlatformNotSupportedException();
}
public static uint CoCreateInstance(ref Guid clsid, IntPtr pOuter, uint clsContext, ref Guid iid, out IntPtr pInterface)
{
if (MiscHelpers.PlatformIsWindows())
{
return NativeWindowsMethods.CoCreateInstance(ref clsid, pOuter, clsContext, ref iid, out pInterface);
}
throw new PlatformNotSupportedException();
}
public static void VariantInit(IntPtr pVariant)
{
if (MiscHelpers.PlatformIsWindows())
{
NativeWindowsMethods.VariantInit(pVariant);
}
else
{
throw new PlatformNotSupportedException();
}
}
public static uint VariantClear(IntPtr pVariant)
{
if (MiscHelpers.PlatformIsWindows())
{
return NativeWindowsMethods.VariantClear(pVariant);
}
throw new PlatformNotSupportedException();
}
public static IntPtr HeapCreate(uint options, UIntPtr initialSize, UIntPtr maximumSize)
{
if (MiscHelpers.PlatformIsWindows())
{
return NativeWindowsMethods.HeapCreate(options, initialSize, maximumSize);
}
throw new PlatformNotSupportedException();
}
public static IntPtr HeapAlloc(IntPtr hHeap, uint flags, UIntPtr size)
{
if (MiscHelpers.PlatformIsWindows())
{
return NativeWindowsMethods.HeapAlloc(hHeap, flags, size);
}
throw new PlatformNotSupportedException();
}
public static bool HeapFree(IntPtr hHeap, uint flags, IntPtr pBlock)
{
if (MiscHelpers.PlatformIsWindows())
{
return NativeWindowsMethods.HeapFree(hHeap, flags, pBlock);
}
throw new PlatformNotSupportedException();
}
public static bool HeapDestroy(IntPtr hHeap)
{
if (MiscHelpers.PlatformIsWindows())
{
return NativeWindowsMethods.HeapDestroy(hHeap);
}
throw new PlatformNotSupportedException();
}
public static bool VirtualProtect(IntPtr pBlock, UIntPtr size, uint newProtect, out uint oldProtect)
{
if (MiscHelpers.PlatformIsWindows())
{
return NativeWindowsMethods.VirtualProtect(pBlock, size, newProtect, out oldProtect);
}
throw new PlatformNotSupportedException();
}
public static void GetSystemInfo(out SystemInfo info)
{
if (MiscHelpers.PlatformIsWindows())
{
NativeWindowsMethods.GetSystemInfo(out info);
}
else
{
throw new PlatformNotSupportedException();
}
}
public static void GetNativeSystemInfo(out SystemInfo info)
{
if (MiscHelpers.PlatformIsWindows())
{
NativeWindowsMethods.GetNativeSystemInfo(out info);
}
else
{
throw new PlatformNotSupportedException();
}
}
#region Nested type: WindowsNativeMethods
private static class NativeWindowsMethods
{
// ReSharper disable MemberHidesStaticFromOuterClass
[DllImport("kernel32", ExactSpelling = true, SetLastError = true)]
public static extern IntPtr LoadLibraryW(
[In] [MarshalAs(UnmanagedType.LPWStr)] string path
);
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool FreeLibrary(
[In] IntPtr hLibrary
);
[DllImport("ole32.dll", ExactSpelling = true)]
public static extern uint CLSIDFromProgID(
[In] [MarshalAs(UnmanagedType.LPWStr)] string progID,
[Out] out Guid clsid
);
[DllImport("ole32.dll")]
public static extern uint ProgIDFromCLSID(
[In] ref Guid clsid,
[Out] [MarshalAs(UnmanagedType.LPWStr)] out string progID
);
[DllImport("ole32.dll", ExactSpelling = true)]
public static extern uint CoCreateInstance(
[In] ref Guid clsid,
[In] IntPtr pOuter,
[In] uint clsContext,
[In] ref Guid iid,
[Out] out IntPtr pInterface
);
[DllImport("oleaut32.dll", ExactSpelling = true)]
public static extern void VariantInit(
[In] IntPtr pVariant
);
[DllImport("oleaut32.dll", ExactSpelling = true)]
public static extern uint VariantClear(
[In] IntPtr pVariant
);
[DllImport("kernel32.dll", SetLastError = true)]
public static extern IntPtr HeapCreate(
[In] uint options,
[In] UIntPtr initialSize,
[In] UIntPtr maximumSize
);
[DllImport("kernel32.dll", SetLastError = false)]
public static extern IntPtr HeapAlloc(
[In] IntPtr hHeap,
[In] uint flags,
[In] UIntPtr size
);
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool HeapFree(
[In] IntPtr hHeap,
[In] uint flags,
[In] IntPtr pBlock
);
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool HeapDestroy(
[In] IntPtr hHeap
);
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool VirtualProtect(
[In] IntPtr pBlock,
[In] UIntPtr size,
[In] uint newProtect,
[Out] out uint oldProtect
);
[DllImport("kernel32.dll", SetLastError = false)]
public static extern void GetSystemInfo(
[Out] out SystemInfo info
);
[DllImport("kernel32.dll")]
public static extern void GetNativeSystemInfo(
[Out] out SystemInfo info
);
// ReSharper restore MemberHidesStaticFromOuterClass
}
}
#endregion
}

Просмотреть файл

@ -1,15 +0,0 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
namespace Microsoft.ClearScript.Util
{
internal static partial class ObjectHelpers
{
public static Type GetTypeOrTypeInfo(this object value)
{
return value.GetType();
}
}
}

Просмотреть файл

@ -1,211 +0,0 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
using System.Globalization;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
using Microsoft.ClearScript.Util.COM;
using Microsoft.Win32;
using TYPEFLAGS = System.Runtime.InteropServices.ComTypes.TYPEFLAGS;
using TYPEKIND = System.Runtime.InteropServices.ComTypes.TYPEKIND;
namespace Microsoft.ClearScript.Util
{
internal static partial class ObjectHelpers
{
public static Type GetTypeOrTypeInfo(this object value)
{
var type = value.GetType();
IDispatch dispatch = null;
Type typeInfo = null;
TYPEKIND typeInfoKind = 0;
TYPEFLAGS typeInfoFlags = 0;
if (type.IsUnknownCOMObject())
{
// This appears to be a generic COM object with no specific type information.
// Attempt to acquire COM type information via IDispatch or IProvideClassInfo.
dispatch = value as IDispatch;
if (dispatch != null)
{
var tempTypeInfo = dispatch.GetTypeInfo();
if (tempTypeInfo != null)
{
typeInfo = GetTypeForTypeInfo(tempTypeInfo);
typeInfoKind = tempTypeInfo.GetKind();
typeInfoFlags = tempTypeInfo.GetFlags();
}
}
if (typeInfo == null)
{
if (value is IProvideClassInfo provideClassInfo)
{
if (HResult.Succeeded(provideClassInfo.GetClassInfo(out var tempTypeInfo)))
{
typeInfo = GetTypeForTypeInfo(tempTypeInfo);
typeInfoKind = tempTypeInfo.GetKind();
typeInfoFlags = tempTypeInfo.GetFlags();
}
}
}
}
if (typeInfo != null)
{
// If the COM type is a dispatch-only interface, use it. Such interfaces typically
// aren't exposed via QueryInterface(), so there's no way to validate them anyway.
if ((dispatch != null) && (typeInfoKind == TYPEKIND.TKIND_DISPATCH) && typeInfoFlags.HasFlag(TYPEFLAGS.TYPEFLAG_FDISPATCHABLE) && !typeInfoFlags.HasFlag(TYPEFLAGS.TYPEFLAG_FDUAL))
{
return typeInfo;
}
// COM type information acquired in this manner may not actually be valid for the
// original object. In some cases the original object implements a base interface.
if (typeInfo.IsInstanceOfType(value))
{
return typeInfo;
}
foreach (var interfaceType in typeInfo.GetInterfaces())
{
if (interfaceType.IsInstanceOfType(value))
{
return interfaceType;
}
}
}
return type;
}
private static Type GetTypeForTypeInfo(ITypeInfo typeInfo)
{
// ReSharper disable EmptyGeneralCatchClause
try
{
var typeLib = typeInfo.GetContainingTypeLib(out var index);
var assembly = LoadPrimaryInteropAssembly(typeLib);
if (assembly != null)
{
var name = typeInfo.GetManagedName();
var guid = typeInfo.GetGuid();
var type = assembly.GetType(name, false, true);
if ((type != null) && (type.GUID == guid))
{
return type;
}
var types = assembly.GetAllTypes().ToArray();
if ((index >= 0) && (index < types.Length))
{
type = types[index];
if ((type.GUID == guid) && (type.FullName == name))
{
return type;
}
}
type = types.FirstOrDefault(testType => (testType.GUID == guid) && (testType.FullName.Equals(name, StringComparison.OrdinalIgnoreCase)));
if (type != null)
{
return type;
}
}
return typeInfo.GetManagedType();
}
catch (Exception)
{
}
return null;
// ReSharper restore EmptyGeneralCatchClause
}
private static Assembly LoadPrimaryInteropAssembly(ITypeLib typeLib)
{
if (typeLib == null)
{
return null;
}
// ReSharper disable EmptyGeneralCatchClause
try
{
using (var attrScope = typeLib.CreateAttrScope())
{
if (GetPrimaryInteropAssembly(attrScope.Value.guid, attrScope.Value.wMajorVerNum, attrScope.Value.wMinorVerNum, out var name, out var codeBase))
{
return Assembly.Load(new AssemblyName(name) { CodeBase = codeBase });
}
}
}
catch (Exception)
{
}
return null;
// ReSharper restore EmptyGeneralCatchClause
}
private static bool GetPrimaryInteropAssembly(Guid libid, int major, int minor, out string name, out string codeBase)
{
name = null;
codeBase = null;
using (var containerKey = Registry.ClassesRoot.OpenSubKey("TypeLib", false))
{
if (containerKey != null)
{
var typeLibName = "{" + libid.ToString().ToUpper(CultureInfo.InvariantCulture) + "}";
using (var typeLibKey = containerKey.OpenSubKey(typeLibName))
{
if (typeLibKey != null)
{
var versionName = major.ToString("x", CultureInfo.InvariantCulture) + "." + minor.ToString("x", CultureInfo.InvariantCulture);
using (var versionKey = typeLibKey.OpenSubKey(versionName, false))
{
if (versionKey != null)
{
name = (string)versionKey.GetValue("PrimaryInteropAssemblyName");
codeBase = (string)versionKey.GetValue("PrimaryInteropAssemblyCodeBase");
}
}
}
}
}
}
return name != null;
}
#region Nested type: IProvideClassInfo
[ComImport]
[Guid("b196b283-bab4-101a-b69c-00aa00341d07")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
private interface IProvideClassInfo
{
[PreserveSig]
int GetClassInfo(
[Out] [MarshalAs(UnmanagedType.Interface)] out ITypeInfo typeInfo
);
}
#endregion
}
}

Просмотреть файл

@ -2,13 +2,202 @@
// Licensed under the MIT license.
using System;
using System.Globalization;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
using Microsoft.ClearScript.Util.COM;
using Microsoft.Win32;
using TYPEFLAGS = System.Runtime.InteropServices.ComTypes.TYPEFLAGS;
using TYPEKIND = System.Runtime.InteropServices.ComTypes.TYPEKIND;
namespace Microsoft.ClearScript.Util
{
internal static partial class ObjectHelpers
internal static class ObjectHelpers
{
public static Type GetTypeOrTypeInfo(this object value)
{
if (!MiscHelpers.PlatformIsWindows())
{
return value.GetType();
}
var type = value.GetType();
IDispatch dispatch = null;
Type typeInfo = null;
TYPEKIND typeInfoKind = 0;
TYPEFLAGS typeInfoFlags = 0;
if (type.IsUnknownCOMObject())
{
// This appears to be a generic COM object with no specific type information.
// Attempt to acquire COM type information via IDispatch or IProvideClassInfo.
dispatch = value as IDispatch;
if (dispatch != null)
{
var tempTypeInfo = dispatch.GetTypeInfo();
if (tempTypeInfo != null)
{
typeInfo = GetTypeForTypeInfo(tempTypeInfo);
typeInfoKind = tempTypeInfo.GetKind();
typeInfoFlags = tempTypeInfo.GetFlags();
}
}
if (typeInfo == null)
{
if (value is IProvideClassInfo provideClassInfo)
{
if (HResult.Succeeded(provideClassInfo.GetClassInfo(out var tempTypeInfo)))
{
typeInfo = GetTypeForTypeInfo(tempTypeInfo);
typeInfoKind = tempTypeInfo.GetKind();
typeInfoFlags = tempTypeInfo.GetFlags();
}
}
}
}
if (typeInfo != null)
{
// If the COM type is a dispatch-only interface, use it. Such interfaces typically
// aren't exposed via QueryInterface(), so there's no way to validate them anyway.
if ((dispatch != null) && (typeInfoKind == TYPEKIND.TKIND_DISPATCH) && typeInfoFlags.HasFlag(TYPEFLAGS.TYPEFLAG_FDISPATCHABLE) && !typeInfoFlags.HasFlag(TYPEFLAGS.TYPEFLAG_FDUAL))
{
return typeInfo;
}
// COM type information acquired in this manner may not actually be valid for the
// original object. In some cases the original object implements a base interface.
if (typeInfo.IsInstanceOfType(value))
{
return typeInfo;
}
foreach (var interfaceType in typeInfo.GetInterfaces())
{
if (interfaceType.IsInstanceOfType(value))
{
return interfaceType;
}
}
}
return type;
}
private static Type GetTypeForTypeInfo(ITypeInfo typeInfo)
{
// ReSharper disable EmptyGeneralCatchClause
try
{
var typeLib = typeInfo.GetContainingTypeLib(out var index);
var assembly = LoadPrimaryInteropAssembly(typeLib);
if (assembly != null)
{
var name = typeInfo.GetManagedName();
var guid = typeInfo.GetGuid();
var type = assembly.GetType(name, false, true);
if ((type != null) && (type.GUID == guid))
{
return type;
}
var types = assembly.GetAllTypes().ToArray();
if ((index >= 0) && (index < types.Length))
{
type = types[index];
if ((type.GUID == guid) && (type.FullName == name))
{
return type;
}
}
type = types.FirstOrDefault(testType => (testType.GUID == guid) && (testType.FullName.Equals(name, StringComparison.OrdinalIgnoreCase)));
if (type != null)
{
return type;
}
}
return typeInfo.GetManagedType();
}
catch (Exception)
{
}
return null;
// ReSharper restore EmptyGeneralCatchClause
}
private static Assembly LoadPrimaryInteropAssembly(ITypeLib typeLib)
{
if (typeLib == null)
{
return null;
}
// ReSharper disable EmptyGeneralCatchClause
try
{
using (var attrScope = typeLib.CreateAttrScope())
{
if (GetPrimaryInteropAssembly(attrScope.Value.guid, attrScope.Value.wMajorVerNum, attrScope.Value.wMinorVerNum, out var name, out var codeBase))
{
return Assembly.Load(new AssemblyName(name) { CodeBase = codeBase });
}
}
}
catch (Exception)
{
}
return null;
// ReSharper restore EmptyGeneralCatchClause
}
private static bool GetPrimaryInteropAssembly(Guid libid, int major, int minor, out string name, out string codeBase)
{
name = null;
codeBase = null;
using (var containerKey = Registry.ClassesRoot.OpenSubKey("TypeLib", false))
{
if (containerKey != null)
{
var typeLibName = "{" + libid.ToString().ToUpper(CultureInfo.InvariantCulture) + "}";
using (var typeLibKey = containerKey.OpenSubKey(typeLibName))
{
if (typeLibKey != null)
{
var versionName = major.ToString("x", CultureInfo.InvariantCulture) + "." + minor.ToString("x", CultureInfo.InvariantCulture);
using (var versionKey = typeLibKey.OpenSubKey(versionName, false))
{
if (versionKey != null)
{
name = (string)versionKey.GetValue("PrimaryInteropAssemblyName");
codeBase = (string)versionKey.GetValue("PrimaryInteropAssemblyCodeBase");
}
}
}
}
}
}
return name != null;
}
public static string GetFriendlyName(this object value)
{
return value.GetFriendlyName(null);
@ -79,5 +268,20 @@ namespace Microsoft.ClearScript.Util
return result;
}
#region Nested type: IProvideClassInfo
[ComImport]
[Guid("b196b283-bab4-101a-b69c-00aa00341d07")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
private interface IProvideClassInfo
{
[PreserveSig]
int GetClassInfo(
[Out] [MarshalAs(UnmanagedType.Interface)] out ITypeInfo typeInfo
);
}
#endregion
}
}

Просмотреть файл

@ -0,0 +1,22 @@
using System.Runtime.InteropServices;
namespace Microsoft.ClearScript.Util
{
internal static class TypeGuidMocks
{
[Guid(TypeGuids.Nothing)]
public abstract class Nothing
{
}
[Guid(TypeGuids.VBScriptEngine)]
public abstract class VBScriptEngine
{
}
[Guid(TypeGuids.WindowsScriptItem)]
public abstract class WindowsScriptItem
{
}
}
}

Просмотреть файл

@ -0,0 +1,12 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
namespace Microsoft.ClearScript.Util
{
internal static class TypeGuids
{
public const string Nothing = "B46C89DF-10BC-4789-9A70-632BCE55A37A";
public const string VBScriptEngine = "E3F03267-D091-40D1-B0D2-18B892DBC684";
public const string WindowsScriptItem = "A45601CC-89E0-445B-B4F4-C4BB0F90C293";
}
}

Просмотреть файл

@ -335,6 +335,21 @@ namespace Microsoft.ClearScript.Util
return false;
}
public static bool IsGuidType<T>(this Type type)
{
while (type != null)
{
if (type.GUID == typeof(T).GUID)
{
return true;
}
type = type.BaseType;
}
return false;
}
public static string GetRootName(this Type type)
{
return StripGenericSuffix(type.Name);

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,61 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
using System.Runtime.InteropServices;
namespace Microsoft.ClearScript.V8.SplitProxy
{
internal static partial class V8SplitProxyNative
{
private static IV8SplitProxyNative CreateInstance()
{
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
if (RuntimeInformation.ProcessArchitecture == Architecture.X64)
{
return new WinX64Impl();
}
if (RuntimeInformation.ProcessArchitecture == Architecture.X86)
{
return new WinX86Impl();
}
if (RuntimeInformation.ProcessArchitecture == Architecture.Arm)
{
return new WinArmImpl();
}
if (RuntimeInformation.ProcessArchitecture == Architecture.Arm64)
{
return new WinArm64Impl();
}
throw new PlatformNotSupportedException("Unsupported process architecture");
}
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
{
if (RuntimeInformation.ProcessArchitecture == Architecture.X64)
{
return new LinuxX64Impl();
}
throw new PlatformNotSupportedException("Unsupported process architecture");
}
if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{
if (RuntimeInformation.ProcessArchitecture == Architecture.X64)
{
return new MacX64Impl();
}
throw new PlatformNotSupportedException("Unsupported process architecture");
}
throw new PlatformNotSupportedException("Unsupported operating system");
}
}
}

Просмотреть файл

@ -0,0 +1,36 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
using Microsoft.ClearScript.Util;
namespace Microsoft.ClearScript.V8.SplitProxy
{
internal static partial class V8SplitProxyNative
{
private static IV8SplitProxyNative CreateInstance()
{
if (MiscHelpers.ProcessorArchitectureIsIntel())
{
if (Environment.Is64BitProcess)
{
return new WinX64Impl();
}
return new WinX86Impl();
}
if (MiscHelpers.ProcessorArchitectureIsArm())
{
if (Environment.Is64BitProcess)
{
return new WinArm64Impl();
}
return new WinArmImpl();
}
throw new PlatformNotSupportedException("Unsupported machine architecture");
}
}
}

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,12 +0,0 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
namespace Microsoft.ClearScript.V8.SplitProxy
{
internal static partial class V8SplitProxyNative
{
private static readonly IV8SplitProxyNative instance = Environment.Is64BitProcess ? Impl64.Instance : Impl32.Instance;
}
}

Просмотреть файл

@ -8,6 +8,8 @@ namespace Microsoft.ClearScript.V8.SplitProxy
{
internal static partial class V8SplitProxyNative
{
private static readonly IV8SplitProxyNative instance = CreateInstance();
public static void Invoke(Action<IV8SplitProxyNative> action)
{
var previousScheduledException = MiscHelpers.Exchange(ref V8SplitProxyManaged.ScheduledException, null);

Просмотреть файл

@ -1,6 +1,21 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ output extension=".Generated.cs" #>
<#
(string, string)[] platforms = new[]
{
("WinX86", "win-x86.dll"),
("WinX64", "win-x64.dll"),
("WinArm", "win-arm.dll"),
("WinArm64", "win-arm64.dll"),
("LinuxX64", "linux-x64.so"),
("MacX64", "osx-x64.dylib")
};
#>
using System;
using System.Runtime.InteropServices;
@ -8,11 +23,18 @@ namespace Microsoft.ClearScript.V8.SplitProxy
{
internal static partial class V8SplitProxyNative
{
#region Nested type: Impl32
private sealed class Impl32 : IV8SplitProxyNative
<#
foreach (var platform in platforms)
{
public static readonly IV8SplitProxyNative Instance = new Impl32();
var className = platform.Item1 + "Impl";
var fileName = "ClearScriptV8." + platform.Item2;
#>
#region Nested type: <#= className #>
private sealed class <#= className #> : IV8SplitProxyNative
{
public static readonly IV8SplitProxyNative Instance = new <#= className #>();
#region IV8SplitProxyNative implementation
@ -961,7 +983,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region initialization
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr V8SplitProxyManaged_SetMethodTable(
[In] IntPtr pMethodTable
);
@ -970,26 +992,26 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region StdString methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern StdString.Ptr StdString_New(
[In] [MarshalAs(UnmanagedType.LPWStr)] string value,
[In] int length
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr StdString_GetValue(
[In] StdString.Ptr pString,
[Out] out int length
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdString_SetValue(
[In] StdString.Ptr pString,
[In] [MarshalAs(UnmanagedType.LPWStr)] string value,
[In] int length
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdString_Delete(
[In] StdString.Ptr pString
);
@ -998,30 +1020,30 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region StdStringArray methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern StdStringArray.Ptr StdStringArray_New(
[In] int elementCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern int StdStringArray_GetElementCount(
[In] StdStringArray.Ptr pArray
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdStringArray_SetElementCount(
[In] StdStringArray.Ptr pArray,
[In] int elementCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr StdStringArray_GetElement(
[In] StdStringArray.Ptr pArray,
[In] int index,
[Out] out int length
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdStringArray_SetElement(
[In] StdStringArray.Ptr pArray,
[In] int index,
@ -1029,7 +1051,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] int length
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdStringArray_Delete(
[In] StdStringArray.Ptr pArray
);
@ -1038,28 +1060,28 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region StdByteArray methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern StdByteArray.Ptr StdByteArray_New(
[In] int elementCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern int StdByteArray_GetElementCount(
[In] StdByteArray.Ptr pArray
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdByteArray_SetElementCount(
[In] StdByteArray.Ptr pArray,
[In] int elementCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr StdByteArray_GetData(
[In] StdByteArray.Ptr pArray
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdByteArray_Delete(
[In] StdByteArray.Ptr pArray
);
@ -1068,28 +1090,28 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region StdInt32Array methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern StdInt32Array.Ptr StdInt32Array_New(
[In] int elementCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern int StdInt32Array_GetElementCount(
[In] StdInt32Array.Ptr pArray
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdInt32Array_SetElementCount(
[In] StdInt32Array.Ptr pArray,
[In] int elementCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr StdInt32Array_GetData(
[In] StdInt32Array.Ptr pArray
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdInt32Array_Delete(
[In] StdInt32Array.Ptr pArray
);
@ -1098,28 +1120,28 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region StdUInt32Array methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern StdUInt32Array.Ptr StdUInt32Array_New(
[In] int elementCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern int StdUInt32Array_GetElementCount(
[In] StdUInt32Array.Ptr pArray
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdUInt32Array_SetElementCount(
[In] StdUInt32Array.Ptr pArray,
[In] int elementCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr StdUInt32Array_GetData(
[In] StdUInt32Array.Ptr pArray
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdUInt32Array_Delete(
[In] StdUInt32Array.Ptr pArray
);
@ -1128,28 +1150,28 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region StdUInt64Array methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern StdUInt64Array.Ptr StdUInt64Array_New(
[In] int elementCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern int StdUInt64Array_GetElementCount(
[In] StdUInt64Array.Ptr pArray
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdUInt64Array_SetElementCount(
[In] StdUInt64Array.Ptr pArray,
[In] int elementCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr StdUInt64Array_GetData(
[In] StdUInt64Array.Ptr pArray
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdUInt64Array_Delete(
[In] StdUInt64Array.Ptr pArray
);
@ -1158,28 +1180,28 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region StdPtrArray methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern StdPtrArray.Ptr StdPtrArray_New(
[In] int elementCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern int StdPtrArray_GetElementCount(
[In] StdPtrArray.Ptr pArray
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdPtrArray_SetElementCount(
[In] StdPtrArray.Ptr pArray,
[In] int elementCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr StdPtrArray_GetData(
[In] StdPtrArray.Ptr pArray
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdPtrArray_Delete(
[In] StdPtrArray.Ptr pArray
);
@ -1188,28 +1210,28 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region StdV8ValueArray methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern StdV8ValueArray.Ptr StdV8ValueArray_New(
[In] int elementCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern int StdV8ValueArray_GetElementCount(
[In] StdV8ValueArray.Ptr pArray
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdV8ValueArray_SetElementCount(
[In] StdV8ValueArray.Ptr pArray,
[In] int elementCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern V8Value.Ptr StdV8ValueArray_GetData(
[In] StdV8ValueArray.Ptr pArray
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void StdV8ValueArray_Delete(
[In] StdV8ValueArray.Ptr pArray
);
@ -1218,62 +1240,62 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region V8Value methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern V8Value.Ptr V8Value_New();
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Value_SetNonexistent(
[In] V8Value.Ptr pV8Value
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Value_SetUndefined(
[In] V8Value.Ptr pV8Value
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Value_SetNull(
[In] V8Value.Ptr pV8Value
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Value_SetBoolean(
[In] V8Value.Ptr pV8Value,
[In] [MarshalAs(UnmanagedType.I1)] bool value
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Value_SetNumber(
[In] V8Value.Ptr pV8Value,
[In] double value
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Value_SetInt32(
[In] V8Value.Ptr pV8Value,
[In] int value
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Value_SetUInt32(
[In] V8Value.Ptr pV8Value,
[In] uint value
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Value_SetString(
[In] V8Value.Ptr pV8Value,
[In] [MarshalAs(UnmanagedType.LPWStr)] string value,
[In] int length
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Value_SetDateTime(
[In] V8Value.Ptr pV8Value,
[In] double value
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Value_SetBigInt(
[In] V8Value.Ptr pV8Value,
[In] int signBit,
@ -1281,20 +1303,20 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] int length
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Value_SetV8Object(
[In] V8Value.Ptr pV8Value,
[In] V8Object.Handle hObject,
[In] V8Value.Subtype subtype
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Value_SetHostObject(
[In] V8Value.Ptr pV8Value,
[In] IntPtr pObject
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern V8Value.Type V8Value_Decode(
[In] V8Value.Ptr pV8Value,
[Out] out int intValue,
@ -1303,7 +1325,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[Out] out IntPtr ptrOrHandle
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Value_Delete(
[In] V8Value.Ptr pV8Value
);
@ -1312,7 +1334,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region V8CpuProfile methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8CpuProfile_GetInfo(
[In] V8CpuProfile.Ptr pProfile,
[In] V8Entity.Handle hEntity,
@ -1323,7 +1345,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[Out] out V8CpuProfile.Node.Ptr pRootNode
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
private static extern bool V8CpuProfile_GetSample(
[In] V8CpuProfile.Ptr pProfile,
@ -1332,7 +1354,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[Out] out ulong timestamp
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8CpuProfileNode_GetInfo(
[In] V8CpuProfile.Node.Ptr pNode,
[In] V8Entity.Handle hEntity,
@ -1348,7 +1370,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[Out] out int childCount
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
private static extern bool V8CpuProfileNode_GetHitLines(
[In] V8CpuProfile.Node.Ptr pNode,
@ -1356,7 +1378,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] StdUInt32Array.Ptr pHitCounts
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern V8CpuProfile.Node.Ptr V8CpuProfileNode_GetChildNode(
[In] V8CpuProfile.Node.Ptr pNode,
[In] int index
@ -1366,7 +1388,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region V8 isolate methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern V8Isolate.Handle V8Isolate_Create(
[In] StdString.Ptr pName,
[In] int maxNewSpaceSize,
@ -1377,7 +1399,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] int debugPort
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern V8Context.Handle V8Isolate_CreateContext(
[In] V8Isolate.Handle hIsolate,
[In] StdString.Ptr pName,
@ -1389,45 +1411,45 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] int debugPort
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern UIntPtr V8Isolate_GetMaxHeapSize(
[In] V8Isolate.Handle hIsolate
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Isolate_SetMaxHeapSize(
[In] V8Isolate.Handle hIsolate,
[In] UIntPtr size
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern double V8Isolate_GetHeapSizeSampleInterval(
[In] V8Isolate.Handle hIsolate
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Isolate_SetHeapSizeSampleInterval(
[In] V8Isolate.Handle hIsolate,
[In] double milliseconds
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern UIntPtr V8Isolate_GetMaxStackUsage(
[In] V8Isolate.Handle hIsolate
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Isolate_SetMaxStackUsage(
[In] V8Isolate.Handle hIsolate,
[In] UIntPtr size
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Isolate_AwaitDebuggerAndPause(
[In] V8Isolate.Handle hIsolate
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern V8Script.Handle V8Isolate_Compile(
[In] V8Isolate.Handle hIsolate,
[In] StdString.Ptr pResourceName,
@ -1438,7 +1460,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] StdString.Ptr pCode
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern V8Script.Handle V8Isolate_CompileProducingCache(
[In] V8Isolate.Handle hIsolate,
[In] StdString.Ptr pResourceName,
@ -1451,7 +1473,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] StdByteArray.Ptr pCacheBytes
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern V8Script.Handle V8Isolate_CompileConsumingCache(
[In] V8Isolate.Handle hIsolate,
[In] StdString.Ptr pResourceName,
@ -1465,7 +1487,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[Out] [MarshalAs(UnmanagedType.I1)] out bool cacheAccepted
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Isolate_GetHeapStatistics(
[In] V8Isolate.Handle hIsolate,
[Out] out ulong totalHeapSize,
@ -1475,7 +1497,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[Out] out ulong heapSizeLimit
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Isolate_GetStatistics(
[In] V8Isolate.Handle hIsolate,
[Out] out ulong scriptCount,
@ -1485,13 +1507,13 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] StdUInt64Array.Ptr pInvokedTaskCounts
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Isolate_CollectGarbage(
[In] V8Isolate.Handle hIsolate,
[In] [MarshalAs(UnmanagedType.I1)] bool exhaustive
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
private static extern bool V8Isolate_BeginCpuProfile(
[In] V8Isolate.Handle hIsolate,
@ -1499,24 +1521,24 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] [MarshalAs(UnmanagedType.I1)] bool recordSamples
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Isolate_EndCpuProfile(
[In] V8Isolate.Handle hIsolate,
[In] StdString.Ptr pName,
[In] IntPtr pAction
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Isolate_CollectCpuProfileSample(
[In] V8Isolate.Handle hIsolate
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern uint V8Isolate_GetCpuProfileSampleInterval(
[In] V8Isolate.Handle hIsolate
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Isolate_SetCpuProfileSampleInterval(
[In] V8Isolate.Handle hIsolate,
[In] uint value
@ -1526,52 +1548,52 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region V8 context methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern UIntPtr V8Context_GetMaxIsolateHeapSize(
[In] V8Context.Handle hContext
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_SetMaxIsolateHeapSize(
[In] V8Context.Handle hContext,
[In] UIntPtr size
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern double V8Context_GetIsolateHeapSizeSampleInterval(
[In] V8Context.Handle hContext
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_SetIsolateHeapSizeSampleInterval(
[In] V8Context.Handle hContext,
[In] double milliseconds
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern UIntPtr V8Context_GetMaxIsolateStackUsage(
[In] V8Context.Handle hContext
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_SetMaxIsolateStackUsage(
[In] V8Context.Handle hContext,
[In] UIntPtr size
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_InvokeWithLock(
[In] V8Context.Handle hContext,
[In] IntPtr pAction
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_GetRootItem(
[In] V8Context.Handle hContext,
[In] V8Value.Ptr pItem
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_AddGlobalItem(
[In] V8Context.Handle hContext,
[In] StdString.Ptr pName,
@ -1579,12 +1601,12 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] [MarshalAs(UnmanagedType.I1)] bool globalMembers
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_AwaitDebuggerAndPause(
[In] V8Context.Handle hContext
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_ExecuteCode(
[In] V8Context.Handle hContext,
[In] StdString.Ptr pResourceName,
@ -1597,7 +1619,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] V8Value.Ptr pResult
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern V8Script.Handle V8Context_Compile(
[In] V8Context.Handle hContext,
[In] StdString.Ptr pResourceName,
@ -1608,7 +1630,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] StdString.Ptr pCode
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern V8Script.Handle V8Context_CompileProducingCache(
[In] V8Context.Handle hContext,
[In] StdString.Ptr pResourceName,
@ -1621,7 +1643,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] StdByteArray.Ptr pCacheBytes
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern V8Script.Handle V8Context_CompileConsumingCache(
[In] V8Context.Handle hContext,
[In] StdString.Ptr pResourceName,
@ -1635,7 +1657,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[Out] [MarshalAs(UnmanagedType.I1)] out bool cacheAccepted
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_ExecuteScript(
[In] V8Context.Handle hContext,
[In] V8Script.Handle hScript,
@ -1643,12 +1665,12 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] V8Value.Ptr pResult
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_Interrupt(
[In] V8Context.Handle hContext
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_GetIsolateHeapStatistics(
[In] V8Context.Handle hContext,
[Out] out ulong totalHeapSize,
@ -1658,7 +1680,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[Out] out ulong heapSizeLimit
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_GetIsolateStatistics(
[In] V8Context.Handle hContext,
[Out] out ulong scriptCount,
@ -1668,7 +1690,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] StdUInt64Array.Ptr pInvokedTaskCounts
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_GetStatistics(
[In] V8Context.Handle hContext,
[Out] out ulong scriptCount,
@ -1676,18 +1698,18 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[Out] out ulong moduleCacheSize
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_CollectGarbage(
[In] V8Context.Handle hContext,
[In] [MarshalAs(UnmanagedType.I1)] bool exhaustive
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_OnAccessSettingsChanged(
[In] V8Context.Handle hContext
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
private static extern bool V8Context_BeginCpuProfile(
[In] V8Context.Handle hContext,
@ -1695,24 +1717,24 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] [MarshalAs(UnmanagedType.I1)] bool recordSamples
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_EndCpuProfile(
[In] V8Context.Handle hContext,
[In] StdString.Ptr pName,
[In] IntPtr pAction
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_CollectCpuProfileSample(
[In] V8Context.Handle hContext
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern uint V8Context_GetCpuProfileSampleInterval(
[In] V8Context.Handle hContext
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Context_SetCpuProfileSampleInterval(
[In] V8Context.Handle hContext,
[In] uint value
@ -1722,61 +1744,61 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region V8 object methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Object_GetNamedProperty(
[In] V8Object.Handle hObject,
[In] StdString.Ptr pName,
[In] V8Value.Ptr pValue
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Object_SetNamedProperty(
[In] V8Object.Handle hObject,
[In] StdString.Ptr pName,
[In] V8Value.Ptr pValue
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
private static extern bool V8Object_DeleteNamedProperty(
[In] V8Object.Handle hObject,
[In] StdString.Ptr pName
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Object_GetPropertyNames(
[In] V8Object.Handle hObject,
[In] StdStringArray.Ptr pNames
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Object_GetIndexedProperty(
[In] V8Object.Handle hObject,
[In] int index,
[In] V8Value.Ptr pValue
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Object_SetIndexedProperty(
[In] V8Object.Handle hObject,
[In] int index,
[In] V8Value.Ptr pValue
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
private static extern bool V8Object_DeleteIndexedProperty(
[In] V8Object.Handle hObject,
[In] int index
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Object_GetPropertyIndices(
[In] V8Object.Handle hObject,
[In] StdInt32Array.Ptr pIndices
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Object_Invoke(
[In] V8Object.Handle hObject,
[In] [MarshalAs(UnmanagedType.I1)] bool asConstructor,
@ -1784,7 +1806,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] V8Value.Ptr pResult
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Object_InvokeMethod(
[In] V8Object.Handle hObject,
[In] StdString.Ptr pName,
@ -1792,7 +1814,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[In] V8Value.Ptr pResult
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Object_GetArrayBufferOrViewInfo(
[In] V8Object.Handle hObject,
[In] V8Value.Ptr pArrayBuffer,
@ -1801,7 +1823,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
[Out] out ulong length
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Object_InvokeWithArrayBufferOrViewData(
[In] V8Object.Handle hObject,
[In] IntPtr pAction
@ -1811,18 +1833,18 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region V8 debug callback methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8DebugCallback_ConnectClient(
[In] V8DebugCallback.Handle hCallback
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8DebugCallback_SendCommand(
[In] V8DebugCallback.Handle hCallback,
[In] StdString.Ptr pCommand
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8DebugCallback_DisconnectClient(
[In] V8DebugCallback.Handle hCallback
);
@ -1831,7 +1853,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region native callback methods
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void NativeCallback_Invoke(
[In] NativeCallback.Handle hCallback
);
@ -1840,12 +1862,12 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region V8 entity cleanup
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Entity_Release(
[In] V8Entity.Handle hEntity
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8Entity_DestroyHandle(
[In] V8Entity.Handle hEntity
);
@ -1854,7 +1876,7 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region error handling
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void HostException_Schedule(
[In] StdString.Ptr pMessage,
[In] V8Value.Ptr pException
@ -1864,12 +1886,12 @@ namespace Microsoft.ClearScript.V8.SplitProxy
#region unit test support
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern UIntPtr V8UnitTestSupport_GetTextDigest(
[In] StdString.Ptr pString
);
[DllImport("ClearScriptV8-32", CallingConvention = CallingConvention.Cdecl)]
[DllImport("<#= fileName #>", CallingConvention = CallingConvention.Cdecl)]
private static extern void V8UnitTestSupport_GetStatistics(
[Out] out ulong isolateCount,
[Out] out ulong contextCount
@ -1881,5 +1903,10 @@ namespace Microsoft.ClearScript.V8.SplitProxy
}
#endregion
<#
}
#>
}
}

Просмотреть файл

@ -0,0 +1,86 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
using System.Runtime.InteropServices;
namespace Microsoft.ClearScript.V8
{
internal abstract partial class V8Proxy
{
[ThreadStatic] private static string loadLibraryErrorMessage;
private static IntPtr LoadNativeAssembly()
{
string platform;
string architecture;
string extension;
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
platform = "win";
extension = "dll";
}
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
{
platform = "linux";
extension = "so";
}
else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{
platform = "osx";
extension = "dylib";
}
else
{
throw new PlatformNotSupportedException("Unsupported OS platform");
}
if (RuntimeInformation.ProcessArchitecture == Architecture.X64)
{
architecture = "x64";
}
else if (RuntimeInformation.ProcessArchitecture == Architecture.X86)
{
architecture = "x86";
}
else if (RuntimeInformation.ProcessArchitecture == Architecture.Arm)
{
architecture = "arm";
}
else if (RuntimeInformation.ProcessArchitecture == Architecture.Arm64)
{
architecture = "arm64";
}
else
{
throw new PlatformNotSupportedException("Unsupported process architecture");
}
return LoadNativeLibrary("ClearScriptV8", platform, architecture, extension);
}
private static IntPtr LoadLibrary(string path)
{
try
{
return NativeLibrary.Load(path);
}
catch (Exception exception)
{
loadLibraryErrorMessage = exception.Message;
return IntPtr.Zero;
}
}
private static void FreeLibrary(IntPtr hLibrary)
{
NativeLibrary.Free(hLibrary);
}
private static string GetLoadLibraryErrorMessage()
{
return loadLibraryErrorMessage;
}
}
}

Просмотреть файл

@ -11,7 +11,22 @@ namespace Microsoft.ClearScript.V8
{
private static IntPtr LoadNativeAssembly()
{
return LoadNativeLibrary("ClearScriptV8", string.Empty, "-32", "-64", ".dll");
string architecture;
if (MiscHelpers.ProcessorArchitectureIsIntel())
{
architecture = Environment.Is64BitProcess ? "x64" : "x86";
}
else if (MiscHelpers.ProcessorArchitectureIsArm())
{
architecture = Environment.Is64BitProcess ? "arm64" : "arm";
}
else
{
throw new PlatformNotSupportedException("Unsupported processor architecture");
}
return LoadNativeLibrary("ClearScriptV8", "win", architecture, "dll");
}
private static IntPtr LoadLibrary(string path)

Просмотреть файл

@ -1,42 +0,0 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
using System.Runtime.InteropServices;
namespace Microsoft.ClearScript.V8
{
internal abstract partial class V8Proxy
{
private static readonly string sharedLibraryExtension = RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ? ".dylib" : ".so";
[ThreadStatic] private static string loadLibraryErrorMessage;
private static IntPtr LoadNativeAssembly()
{
return LoadNativeLibrary("ClearScriptV8", string.Empty, string.Empty, string.Empty, sharedLibraryExtension);
}
private static IntPtr LoadLibrary(string path)
{
try
{
return NativeLibrary.Load(path);
}
catch (Exception exception)
{
loadLibraryErrorMessage = exception.Message;
return IntPtr.Zero;
}
}
private static void FreeLibrary(IntPtr hLibrary)
{
NativeLibrary.Free(hLibrary);
}
private static string GetLoadLibraryErrorMessage()
{
return loadLibraryErrorMessage;
}
}
}

Просмотреть файл

@ -43,15 +43,14 @@ namespace Microsoft.ClearScript.V8
}
}
private static IntPtr LoadNativeLibrary(string baseFileName, string prefix, string suffix32, string suffix64, string extension)
private static IntPtr LoadNativeLibrary(string baseName, string platform, string architecture, string extension)
{
var suffix = Environment.Is64BitProcess ? suffix64 : suffix32;
var fileName = prefix + baseFileName + suffix + extension;
var messageBuilder = new StringBuilder();
var fileName = $"{baseName}.{platform}-{architecture}.{extension}";
IntPtr hLibrary;
var messageBuilder = new StringBuilder();
var paths = GetDirPaths().Select(dirPath => Path.Combine(dirPath, deploymentDirName, fileName)).Distinct();
var paths = GetDirPaths(platform, architecture).Select(dirPath => Path.Combine(dirPath, deploymentDirName, fileName)).Distinct();
foreach (var path in paths)
{
hLibrary = LoadLibrary(path);
@ -79,7 +78,7 @@ namespace Microsoft.ClearScript.V8
throw new TypeLoadException(message);
}
private static IEnumerable<string> GetDirPaths()
private static IEnumerable<string> GetDirPaths(string platform, string architecture)
{
// The assembly location may be empty if the host preloaded the assembly
// from custom storage. Support for this scenario was requested on CodePlex.
@ -87,6 +86,7 @@ namespace Microsoft.ClearScript.V8
var location = typeof(V8Proxy).Assembly.Location;
if (!string.IsNullOrWhiteSpace(location))
{
yield return Path.Combine(Path.GetDirectoryName(location), "runtimes", $"{platform}-{architecture}", "native");
yield return Path.GetDirectoryName(location);
}

Просмотреть файл

@ -11,7 +11,6 @@ using System.Threading;
using System.Threading.Tasks;
using Microsoft.ClearScript.JavaScript;
using Microsoft.ClearScript.Util;
using Microsoft.ClearScript.Windows;
namespace Microsoft.ClearScript.V8
{
@ -19,7 +18,7 @@ namespace Microsoft.ClearScript.V8
/// Represents an instance of the V8 JavaScript engine.
/// </summary>
/// <remarks>
/// Unlike <see cref="WindowsScriptEngine"/> instances, V8ScriptEngine instances do not have
/// Unlike <c>WindowsScriptEngine</c> instances, V8ScriptEngine instances do not have
/// thread affinity. The underlying script engine is not thread-safe, however, so this class
/// uses internal locks to automatically serialize all script code execution for a given
/// instance. Script delegates and event handlers are invoked on the calling thread without
@ -1269,7 +1268,7 @@ namespace Microsoft.ClearScript.V8
return obj;
}
if (obj is Nothing)
if (obj.GetType().IsGuidType<TypeGuidMocks.Nothing>())
{
return null;
}

Просмотреть файл

@ -139,7 +139,7 @@ namespace Microsoft.ClearScript.Windows
}
}
if (!flags.HasFlag(WindowsScriptEngineFlags.DoNotEnableVTablePatching) && MiscHelpers.IsX86InstructionSet())
if (!flags.HasFlag(WindowsScriptEngineFlags.DoNotEnableVTablePatching) && MiscHelpers.ProcessorArchitectureIsIntel())
{
HostItem.EnableVTablePatching = true;
}
@ -292,7 +292,7 @@ namespace Microsoft.ClearScript.Windows
}
}
if (!flags.HasFlag(WindowsScriptEngineFlags.DoNotEnableVTablePatching) && MiscHelpers.IsX86InstructionSet())
if (!flags.HasFlag(WindowsScriptEngineFlags.DoNotEnableVTablePatching) && MiscHelpers.ProcessorArchitectureIsIntel())
{
HostItem.EnableVTablePatching = true;
}

Просмотреть файл

@ -1,110 +0,0 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
using System.Threading.Tasks;
using Microsoft.ClearScript.JavaScript;
namespace Microsoft.ClearScript.Windows
{
/// <summary>
/// Represents an instance of the JScript engine.
/// </summary>
public class JScriptEngine : WindowsScriptEngine, IJavaScriptEngine
{
#region constructors
/// <summary>
/// Initializes a new JScript engine instance.
/// </summary>
public JScriptEngine()
: this(null)
{
}
/// <summary>
/// Initializes a new JScript engine instance with the specified name.
/// </summary>
/// <param name="name">A name to associate with the instance. Currently this name is used only as a label in presentation contexts such as debugger user interfaces.</param>
public JScriptEngine(string name)
: this(name, WindowsScriptEngineFlags.None)
{
}
/// <summary>
/// Initializes a new JScript engine instance with the specified options.
/// </summary>
/// <param name="flags">A value that selects options for the operation.</param>
public JScriptEngine(WindowsScriptEngineFlags flags)
: this(null, flags)
{
}
/// <summary>
/// Initializes a new JScript engine instance with the specified name and options.
/// </summary>
/// <param name="name">A name to associate with the instance. Currently this name is used only as a label in presentation contexts such as debugger user interfaces.</param>
/// <param name="flags">A value that selects options for the operation.</param>
public JScriptEngine(string name, WindowsScriptEngineFlags flags)
: this("JScript", name, flags)
{
}
/// <summary>
/// Initializes a new JScript engine instance with the specified programmatic
/// identifier, name, and options.
/// </summary>
/// <param name="progID">The programmatic identifier (ProgID) of the JScript engine class.</param>
/// <param name="name">A name to associate with the instance. Currently this name is used only as a label in presentation contexts such as debugger user interfaces.</param>
/// <param name="flags">A value that selects options for the operation.</param>
protected JScriptEngine(string progID, string name, WindowsScriptEngineFlags flags)
: this(progID, name, "js", flags)
{
}
/// <summary>
/// Initializes a new JScript engine instance with the specified programmatic
/// identifier, name, list of supported file name extensions, and options.
/// </summary>
/// <param name="progID">The programmatic identifier (ProgID) of the JScript engine class.</param>
/// <param name="name">A name to associate with the instance. Currently this name is used only as a label in presentation contexts such as debugger user interfaces.</param>
/// <param name="fileNameExtensions">A semicolon-delimited list of supported file name extensions.</param>
/// <param name="flags">A value that selects options for the operation.</param>
protected JScriptEngine(string progID, string name, string fileNameExtensions, WindowsScriptEngineFlags flags)
: base(progID, name, fileNameExtensions, flags)
{
}
#endregion
#region ScriptEngine overrides
/// <summary>
/// Gets the script engine's recommended file name extension for script files.
/// </summary>
public override string FileNameExtension => "js";
#endregion
#region IJavaScriptEngine implementation
uint IJavaScriptEngine.BaseLanguageVersion => 3;
object IJavaScriptEngine.CreatePromiseForTask<T>(Task<T> task)
{
throw new NotImplementedException();
}
object IJavaScriptEngine.CreatePromiseForTask(Task task)
{
throw new NotImplementedException();
}
Task<object> IJavaScriptEngine.CreateTaskForPromise(ScriptObject promise)
{
throw new NotImplementedException();
}
#endregion
}
}

Просмотреть файл

@ -1,6 +1,9 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System.Runtime.InteropServices;
using Microsoft.ClearScript.Util;
namespace Microsoft.ClearScript.Windows
{
/// <summary>
@ -14,6 +17,7 @@ namespace Microsoft.ClearScript.Windows
/// In JScript it appears as a value that is equal to, but not strictly equal to,
/// <c><see href="https://developer.mozilla.org/en-US/docs/Glossary/Undefined">undefined</see></c>.
/// </remarks>
[Guid(TypeGuids.Nothing)]
public class Nothing
{
/// <summary>

Просмотреть файл

@ -1,85 +0,0 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
namespace Microsoft.ClearScript.Windows
{
/// <summary>
/// Represents an instance of the VBScript engine.
/// </summary>
public class VBScriptEngine : WindowsScriptEngine
{
#region constructors
/// <summary>
/// Initializes a new VBScript engine instance.
/// </summary>
public VBScriptEngine()
: this(null)
{
}
/// <summary>
/// Initializes a new VBScript engine instance with the specified name.
/// </summary>
/// <param name="name">A name to associate with the instance. Currently this name is used only as a label in presentation contexts such as debugger user interfaces.</param>
public VBScriptEngine(string name)
: this(name, WindowsScriptEngineFlags.None)
{
}
/// <summary>
/// Initializes a new VBScript engine instance with the specified options.
/// </summary>
/// <param name="flags">A value that selects options for the operation.</param>
public VBScriptEngine(WindowsScriptEngineFlags flags)
: this(null, flags)
{
}
/// <summary>
/// Initializes a new VBScript engine instance with the specified name and options.
/// </summary>
/// <param name="name">A name to associate with the instance. Currently this name is used only as a label in presentation contexts such as debugger user interfaces.</param>
/// <param name="flags">A value that selects options for the operation.</param>
public VBScriptEngine(string name, WindowsScriptEngineFlags flags)
: this("VBScript", name, flags)
{
}
/// <summary>
/// Initializes a new VBScript engine instance with the specified programmatic
/// identifier, name, and options.
/// </summary>
/// <param name="progID">The programmatic identifier (ProgID) of the VBScript engine class.</param>
/// <param name="name">A name to associate with the instance. Currently this name is used only as a label in presentation contexts such as debugger user interfaces.</param>
/// <param name="flags">A value that selects options for the operation.</param>
protected VBScriptEngine(string progID, string name, WindowsScriptEngineFlags flags)
: this(progID, name, "vbs", flags)
{
}
/// <summary>
/// Initializes a new VBScript engine instance with the specified programmatic
/// identifier, name, list of supported file name extensions, and options.
/// </summary>
/// <param name="progID">The programmatic identifier (ProgID) of the VBScript engine class.</param>
/// <param name="name">A name to associate with the instance. Currently this name is used only as a label in presentation contexts such as debugger user interfaces.</param>
/// <param name="fileNameExtensions">A semicolon-delimited list of supported file name extensions.</param>
/// <param name="flags">A value that selects options for the operation.</param>
protected VBScriptEngine(string progID, string name, string fileNameExtensions, WindowsScriptEngineFlags flags)
: base(progID, name, fileNameExtensions, flags)
{
}
#endregion
#region ScriptEngine overrides
/// <summary>
/// Gets the script engine's recommended file name extension for script files.
/// </summary>
public override string FileNameExtension => "vbs";
#endregion
}
}

Просмотреть файл

@ -3,6 +3,7 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Microsoft.ClearScript.Util;
namespace Microsoft.ClearScript.Windows
@ -10,6 +11,7 @@ namespace Microsoft.ClearScript.Windows
/// <summary>
/// Represents an instance of the VBScript engine.
/// </summary>
[Guid(TypeGuids.VBScriptEngine)]
public class VBScriptEngine : WindowsScriptEngine
{
#region data

Просмотреть файл

@ -1,136 +0,0 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using Microsoft.ClearScript.Util;
using System;
namespace Microsoft.ClearScript.Windows
{
/// <summary>
/// Provides the base implementation for all Windows Script engines.
/// </summary>
public abstract class WindowsScriptEngine : ScriptEngine
{
#region constructors
// ReSharper disable UnusedParameter.Local
/// <summary>
/// Initializes a new Windows Script engine instance.
/// </summary>
/// <param name="progID">The programmatic identifier (ProgID) of the Windows Script engine class.</param>
/// <param name="name">A name to associate with the instance. Currently this name is used only as a label in presentation contexts such as debugger user interfaces.</param>
/// <param name="flags">A value that selects options for the operation.</param>
[Obsolete("Use WindowsScriptEngine(string progID, string name, string fileNameExtensions, WindowsScriptEngineFlags flags) instead.")]
protected WindowsScriptEngine(string progID, string name, WindowsScriptEngineFlags flags)
: this(progID, name, null, flags)
{
}
/// <summary>
/// Initializes a new Windows Script engine instance with the specified list of supported file name extensions.
/// </summary>
/// <param name="progID">The programmatic identifier (ProgID) of the Windows Script engine class.</param>
/// <param name="name">A name to associate with the instance. Currently this name is used only as a label in presentation contexts such as debugger user interfaces.</param>
/// <param name="fileNameExtensions">A semicolon-delimited list of supported file name extensions.</param>
/// <param name="flags">A value that selects options for the operation.</param>
protected WindowsScriptEngine(string progID, string name, string fileNameExtensions, WindowsScriptEngineFlags flags)
: base(name, fileNameExtensions)
{
}
// ReSharper restore UnusedParameter.Local
#endregion
#region public members
/// <summary>
/// Determines whether the calling thread has access to the current script engine.
/// </summary>
/// <returns><c>True</c> if the calling thread has access to the current script engine, <c>false</c> otherwise.</returns>
public bool CheckAccess()
{
throw new PlatformNotSupportedException();
}
/// <summary>
/// Enforces that the calling thread has access to the current script engine.
/// </summary>
public void VerifyAccess()
{
throw new PlatformNotSupportedException();
}
/// <summary>
/// Gets or sets an interface that supports the display of dialogs on behalf of script code.
/// </summary>
public IHostWindow HostWindow { get; set; }
#endregion
#region ScriptEngine overrides
/// <summary>
/// Allows the host to access script resources directly.
/// </summary>
public override dynamic Script => throw new PlatformNotSupportedException();
internal override IUniqueNameManager DocumentNameManager => throw new PlatformNotSupportedException();
internal override HostItemCollateral HostItemCollateral => throw new PlatformNotSupportedException();
/// <summary>
/// Performs garbage collection.
/// </summary>
/// <param name="exhaustive"><c>True</c> to perform exhaustive garbage collection, <c>false</c> to favor speed over completeness.</param>
public override void CollectGarbage(bool exhaustive)
{
throw new PlatformNotSupportedException();
}
/// <summary>
/// Gets a string representation of the script call stack.
/// </summary>
/// <returns>The script call stack formatted as a string.</returns>
public override string GetStackTrace()
{
throw new PlatformNotSupportedException();
}
/// <summary>
/// Interrupts script execution and causes the script engine to throw an exception.
/// </summary>
public override void Interrupt()
{
throw new PlatformNotSupportedException();
}
internal override void AddHostItem(string itemName, HostItemFlags flags, object item)
{
throw new PlatformNotSupportedException();
}
internal override object Execute(UniqueDocumentInfo documentInfo, string code, bool evaluate)
{
throw new PlatformNotSupportedException();
}
internal override object ExecuteRaw(UniqueDocumentInfo documentInfo, string code, bool evaluate)
{
throw new PlatformNotSupportedException();
}
internal override object MarshalToHost(object obj, bool preserveHostTarget)
{
throw new PlatformNotSupportedException();
}
internal override object MarshalToScript(object obj, HostItemFlags flags)
{
throw new PlatformNotSupportedException();
}
#endregion
}
}

Просмотреть файл

@ -1,9 +0,0 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
namespace Microsoft.ClearScript.Windows
{
internal abstract class WindowsScriptItem : ScriptItem
{
}
}

Просмотреть файл

@ -13,6 +13,7 @@ using Microsoft.ClearScript.Util.COM;
namespace Microsoft.ClearScript.Windows
{
[Guid(TypeGuids.WindowsScriptItem)]
internal sealed class WindowsScriptItem : ScriptItem, IWindowsScriptObject, IDisposable
{
private readonly WindowsScriptEngine engine;

Двоичные данные
ClearScript/doc/Reference.chm

Двоичный файл не отображается.

Просмотреть файл

@ -20,7 +20,9 @@
<Language>en-US</Language>
<HelpTitle>ClearScript Library</HelpTitle>
<DocumentationSources>
<DocumentationSource sourceFile="..\ClearScript.csproj" />
<DocumentationSource sourceFile="..\ClearScript.Core.csproj" />
<DocumentationSource sourceFile="..\ClearScript.V8.csproj" />
<DocumentationSource sourceFile="..\ClearScript.Windows.csproj" />
</DocumentationSources>
<VisibleItems>Attributes, InheritedMembers, InheritedFrameworkMembers, Protected, SealedProtected, EditorBrowsableNever, NonBrowsable</VisibleItems>
<MissingTags>Summary, Parameter, Returns, TypeParameter</MissingTags>

Просмотреть файл

@ -20,7 +20,9 @@
<Language>en-US</Language>
<HelpTitle>ClearScript Library</HelpTitle>
<DocumentationSources>
<DocumentationSource sourceFile="..\ClearScript.csproj" />
<DocumentationSource sourceFile="..\ClearScript.Core.csproj" />
<DocumentationSource sourceFile="..\ClearScript.V8.csproj" />
<DocumentationSource sourceFile="..\ClearScript.Windows.csproj" />
</DocumentationSources>
<VisibleItems>Attributes, InheritedMembers, InheritedFrameworkMembers, Protected, SealedProtected, EditorBrowsableNever, NonBrowsable</VisibleItems>
<MissingTags>Summary, Parameter, Returns, TypeParameter</MissingTags>

Просмотреть файл

@ -62,14 +62,21 @@
<Compile Include="SunSpider.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ClearScript\ClearScript.csproj">
<Project>{D2382D2C-6576-4D96-B6CD-057C4F6BED96}</Project>
<Name>ClearScript</Name>
<Private>False</Private>
</ProjectReference>
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
</ItemGroup>
<ItemGroup>
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
<ProjectReference Include="..\ClearScript\ClearScript.Core.csproj">
<Project>{f1022c3f-afbc-4f23-b4de-c6c0742aeff2}</Project>
<Name>ClearScript.Core</Name>
</ProjectReference>
<ProjectReference Include="..\ClearScript\ClearScript.V8.csproj">
<Project>{59cc81a3-3d97-469a-9c8b-533f920085f1}</Project>
<Name>ClearScript.V8</Name>
</ProjectReference>
<ProjectReference Include="..\ClearScript\ClearScript.Windows.csproj">
<Project>{bc560ff8-ab7a-4da9-a1fd-99221447d370}</Project>
<Name>ClearScript.Windows</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>

Просмотреть файл

@ -13,4 +13,4 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("7.0.0")]
[assembly: AssemblyFileVersion("7.0.0")]
[assembly: AssemblyInformationalVersion("7.0.0-rc4")]
[assembly: AssemblyInformationalVersion("7.0.0-rc5")]

Просмотреть файл

@ -25,7 +25,7 @@ namespace Microsoft.ClearScript.Test
using (var engine = new V8ScriptEngine(nameof(ClearScriptConsole), V8ScriptEngineFlags.EnableDebugging))
{
engine.AddHostObject("host", new ExtendedHostFunctions());
engine.AddHostObject("lib", HostItemFlags.GlobalMembers, new HostTypeCollection("mscorlib", "System", "System.Core", "System.Numerics", "ClearScript"));
engine.AddHostObject("lib", HostItemFlags.GlobalMembers, new HostTypeCollection("mscorlib", "System", "System.Core", "System.Numerics", "ClearScript.Core", "ClearScript.V8"));
engine.SuppressExtensionMethodEnumeration = true;
engine.AllowReflection = true;

Просмотреть файл

@ -66,14 +66,21 @@
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ClearScript\ClearScript.csproj">
<Project>{D2382D2C-6576-4D96-B6CD-057C4F6BED96}</Project>
<Name>ClearScript</Name>
<Private>False</Private>
</ProjectReference>
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
</ItemGroup>
<ItemGroup>
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
<ProjectReference Include="..\ClearScript\ClearScript.Core.csproj">
<Project>{f1022c3f-afbc-4f23-b4de-c6c0742aeff2}</Project>
<Name>ClearScript.Core</Name>
</ProjectReference>
<ProjectReference Include="..\ClearScript\ClearScript.V8.csproj">
<Project>{59cc81a3-3d97-469a-9c8b-533f920085f1}</Project>
<Name>ClearScript.V8</Name>
</ProjectReference>
<ProjectReference Include="..\ClearScript\ClearScript.Windows.csproj">
<Project>{bc560ff8-ab7a-4da9-a1fd-99221447d370}</Project>
<Name>ClearScript.Windows</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>

Просмотреть файл

@ -13,4 +13,4 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("7.0.0")]
[assembly: AssemblyFileVersion("7.0.0")]
[assembly: AssemblyInformationalVersion("7.0.0-rc4")]
[assembly: AssemblyInformationalVersion("7.0.0-rc5")]

Просмотреть файл

@ -10,8 +10,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class AccessContextTest : ClearScriptTest
{

Просмотреть файл

@ -11,8 +11,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[DeploymentItem("JavaScript", "JavaScript")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class BaseInterfaceMemberAccessTest : ClearScriptTest

Просмотреть файл

@ -11,8 +11,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class BaseMemberAccessTest : ClearScriptTest
{

Просмотреть файл

@ -24,8 +24,8 @@ using Newtonsoft.Json;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[DeploymentItem("ClearScriptConsole.exe")]
[DeploymentItem("Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]

Просмотреть файл

@ -123,13 +123,6 @@
<Compile Include="V8ScriptEngineTest.Windows.cs" />
<Compile Include="VBScriptEngineTest.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ClearScript\ClearScript.csproj">
<Project>{D2382D2C-6576-4D96-B6CD-057C4F6BED96}</Project>
<Name>ClearScript</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
</ItemGroup>
@ -162,7 +155,20 @@
<EmbedInteropTypes>False</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<ProjectReference Include="..\ClearScript\ClearScript.Core.csproj">
<Project>{f1022c3f-afbc-4f23-b4de-c6c0742aeff2}</Project>
<Name>ClearScript.Core</Name>
</ProjectReference>
<ProjectReference Include="..\ClearScript\ClearScript.V8.csproj">
<Project>{59cc81a3-3d97-469a-9c8b-533f920085f1}</Project>
<Name>ClearScript.V8</Name>
</ProjectReference>
<ProjectReference Include="..\ClearScript\ClearScript.Windows.csproj">
<Project>{bc560ff8-ab7a-4da9-a1fd-99221447d370}</Project>
<Name>ClearScript.Windows</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="JavaScript\General.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

Просмотреть файл

@ -12,8 +12,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class CrossEngineTest : ClearScriptTest
{

Просмотреть файл

@ -8,8 +8,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
[SuppressMessage("ReSharper", "StringLiteralTypo", Justification = "Typos in test code are acceptable.")]
public partial class DynamicHostItemTest : ClearScriptTest

Просмотреть файл

@ -11,8 +11,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class ExplicitBaseInterfaceMemberAccessTest : ClearScriptTest
{

Просмотреть файл

@ -11,8 +11,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class ExplicitInterfaceMemberAccessTest : ClearScriptTest
{

Просмотреть файл

@ -12,8 +12,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class ExtendedHostFunctionsTest : ClearScriptTest
{
@ -260,7 +260,7 @@ namespace Microsoft.ClearScript.Test
[TestMethod, TestCategory("ExtendedHostFunctions")]
public void ExtendedHostFunctions_type_NonSystem_PartialAssemblyName()
{
var hostType = (HostType)host.type("Microsoft.ClearScript.ScriptEngine", "ClearScript");
var hostType = (HostType)host.type("Microsoft.ClearScript.ScriptEngine", "ClearScript.Core");
Assert.AreEqual(1, hostType.Types.Length);
Assert.AreEqual(typeof(ScriptEngine), hostType.Type);
}
@ -268,7 +268,7 @@ namespace Microsoft.ClearScript.Test
[TestMethod, TestCategory("ExtendedHostFunctions")]
public void ExtendedHostFunctions_type_NonSystem_PartialAssemblyName_Generic()
{
var hostType = (HostType)host.type("Microsoft.ClearScript.OutArg", "ClearScript");
var hostType = (HostType)host.type("Microsoft.ClearScript.OutArg", "ClearScript.Core");
Assert.AreEqual(1, hostType.Types.Length);
Assert.AreEqual(typeof(OutArg<>), hostType.Type);
}
@ -277,7 +277,7 @@ namespace Microsoft.ClearScript.Test
public void ExtendedHostFunctions_type_NonSystem_PartialAssemblyName_GenericWithTypeArgs()
{
var stringHostType = host.type("System.String");
var hostType = (HostType)host.type("Microsoft.ClearScript.OutArg", "ClearScript", stringHostType);
var hostType = (HostType)host.type("Microsoft.ClearScript.OutArg", "ClearScript.Core", stringHostType);
Assert.AreEqual(1, hostType.Types.Length);
Assert.AreEqual(typeof(OutArg<string>), hostType.Type);
}

Просмотреть файл

@ -12,8 +12,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class ExtensionsTest : ClearScriptTest
{

Просмотреть файл

@ -14,8 +14,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class HostFunctionsTest : ClearScriptTest
{

Просмотреть файл

@ -11,8 +11,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class HostListTest : ClearScriptTest
{

Просмотреть файл

@ -10,8 +10,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class HostVariableTest : ClearScriptTest
{

Просмотреть файл

@ -11,8 +11,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class InterfaceMemberAccessTest : ClearScriptTest
{

Просмотреть файл

@ -24,8 +24,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[DeploymentItem("JavaScript", "JavaScript")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
[SuppressMessage("ReSharper", "StringLiteralTypo", Justification = "Typos in test code are acceptable.")]

Просмотреть файл

@ -13,8 +13,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[DeploymentItem("JavaScript", "JavaScript")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
[SuppressMessage("ReSharper", "StringLiteralTypo", Justification = "Typos in test code are acceptable.")]

Просмотреть файл

@ -12,8 +12,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class MemberAccessTest : ClearScriptTest
{

Просмотреть файл

@ -8,6 +8,8 @@ using System.Reflection;
using System.Runtime.Loader;
using System.Text;
using Microsoft.ClearScript.Util;
using Microsoft.ClearScript.V8;
using Microsoft.ClearScript.Windows;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.VisualBasic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
@ -24,8 +26,9 @@ namespace Microsoft.ClearScript.Test
MetadataReference.CreateFromFile(typeof(Enumerable).Assembly.Location),
MetadataReference.CreateFromFile(typeof(Assert).Assembly.Location),
MetadataReference.CreateFromFile(typeof(ScriptEngine).Assembly.Location),
MetadataReference.CreateFromFile(typeof(V8ScriptEngine).Assembly.Location),
MetadataReference.CreateFromFile(typeof(WindowsScriptEngine).Assembly.Location),
MetadataReference.CreateFromFile(typeof(ClearScriptTest).Assembly.Location),
MetadataReference.CreateFromFile(Assembly.Load("System.Runtime").Location),
MetadataReference.CreateFromFile(Assembly.Load("Microsoft.VisualBasic.Core").Location)
};
@ -82,8 +85,9 @@ namespace Microsoft.ClearScript.Test
MetadataReference.CreateFromFile(typeof(Enumerable).Assembly.Location),
MetadataReference.CreateFromFile(typeof(Assert).Assembly.Location),
MetadataReference.CreateFromFile(typeof(ScriptEngine).Assembly.Location),
MetadataReference.CreateFromFile(typeof(V8ScriptEngine).Assembly.Location),
MetadataReference.CreateFromFile(typeof(WindowsScriptEngine).Assembly.Location),
MetadataReference.CreateFromFile(typeof(ClearScriptTest).Assembly.Location),
MetadataReference.CreateFromFile(Assembly.Load("System.Runtime").Location),
MetadataReference.CreateFromFile(Assembly.Load("Microsoft.VisualBasic.Core").Location)
};

Просмотреть файл

@ -17,7 +17,9 @@ namespace Microsoft.ClearScript.Test
public static void InvokeVBTestSub(string code, string extraDefinitions = null)
{
var options = new CompilerParameters { GenerateInMemory = true };
options.ReferencedAssemblies.Add("ClearScript.dll");
options.ReferencedAssemblies.Add("ClearScript.Core.dll");
options.ReferencedAssemblies.Add("ClearScript.V8.dll");
options.ReferencedAssemblies.Add("ClearScript.Windows.dll");
options.ReferencedAssemblies.Add("ClearScriptTest.dll");
options.ReferencedAssemblies.Add(typeof(Enumerable).Assembly.Location);
options.ReferencedAssemblies.Add(typeof(Assert).Assembly.Location);
@ -56,7 +58,9 @@ namespace Microsoft.ClearScript.Test
public static object InvokeVBTestFunction(string code, string extraDefinitions = null)
{
var options = new CompilerParameters { GenerateInMemory = true };
options.ReferencedAssemblies.Add("ClearScript.dll");
options.ReferencedAssemblies.Add("ClearScript.Core.dll");
options.ReferencedAssemblies.Add("ClearScript.V8.dll");
options.ReferencedAssemblies.Add("ClearScript.Windows.dll");
options.ReferencedAssemblies.Add("ClearScriptTest.dll");
options.ReferencedAssemblies.Add(typeof(Enumerable).Assembly.Location);
options.ReferencedAssemblies.Add(typeof(Assert).Assembly.Location);

Просмотреть файл

@ -0,0 +1,136 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.Loader;
using System.Text;
using Microsoft.ClearScript.Util;
using Microsoft.ClearScript.V8;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.VisualBasic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
public static partial class TestUtil
{
public static void InvokeVBTestSub(string code, string extraDefinitions = null)
{
var references = new[]
{
MetadataReference.CreateFromFile(typeof(object).Assembly.Location),
MetadataReference.CreateFromFile(typeof(Enumerable).Assembly.Location),
MetadataReference.CreateFromFile(typeof(Assert).Assembly.Location),
MetadataReference.CreateFromFile(typeof(ScriptEngine).Assembly.Location),
MetadataReference.CreateFromFile(typeof(V8ScriptEngine).Assembly.Location),
MetadataReference.CreateFromFile(typeof(ClearScriptTest).Assembly.Location),
MetadataReference.CreateFromFile(Assembly.Load("System.Runtime").Location),
MetadataReference.CreateFromFile(Assembly.Load("Microsoft.VisualBasic.Core").Location)
};
var syntaxTree = VisualBasicSyntaxTree.ParseText(MiscHelpers.FormatInvariant(@"
Imports System
Imports System.Linq
Imports System.Runtime.InteropServices
Imports Microsoft.ClearScript
Imports Microsoft.ClearScript.Test
Imports Microsoft.ClearScript.V8
Imports Microsoft.ClearScript.Windows
Imports Microsoft.VisualStudio.TestTools.UnitTesting
{1}
Module TestModule
Sub TestSub
{0}
End Sub
End Module
", code, extraDefinitions ?? string.Empty));
var compilation = VisualBasicCompilation.Create(
"VBTest_" + Guid.NewGuid().ToString(),
new[] { syntaxTree },
references,
new VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary)
);
using (var stream = new MemoryStream())
{
var result = compilation.Emit(stream);
if (!result.Success)
{
var messageBuilder = new StringBuilder("Errors encountered during Visual Basic compilation:\n");
foreach (var diagnostic in result.Diagnostics)
{
messageBuilder.Append(diagnostic);
messageBuilder.Append('\n');
}
throw new OperationCanceledException(messageBuilder.ToString());
}
stream.Seek(0, SeekOrigin.Begin);
AssemblyLoadContext.Default.LoadFromStream(stream).GetType("TestModule").InvokeMember("TestSub", BindingFlags.InvokeMethod, null, null, ArrayHelpers.GetEmptyArray<object>());
}
}
public static object InvokeVBTestFunction(string code, string extraDefinitions = null)
{
var references = new[]
{
MetadataReference.CreateFromFile(typeof(object).Assembly.Location),
MetadataReference.CreateFromFile(typeof(Enumerable).Assembly.Location),
MetadataReference.CreateFromFile(typeof(Assert).Assembly.Location),
MetadataReference.CreateFromFile(typeof(ScriptEngine).Assembly.Location),
MetadataReference.CreateFromFile(typeof(V8ScriptEngine).Assembly.Location),
MetadataReference.CreateFromFile(typeof(ClearScriptTest).Assembly.Location),
MetadataReference.CreateFromFile(Assembly.Load("System.Runtime").Location),
MetadataReference.CreateFromFile(Assembly.Load("Microsoft.VisualBasic.Core").Location)
};
var syntaxTree = VisualBasicSyntaxTree.ParseText(MiscHelpers.FormatInvariant(@"
Imports System
Imports System.Linq
Imports System.Runtime.InteropServices
Imports Microsoft.ClearScript
Imports Microsoft.ClearScript.Test
Imports Microsoft.ClearScript.V8
Imports Microsoft.ClearScript.Windows
Imports Microsoft.VisualStudio.TestTools.UnitTesting
{1}
Module TestModule
Function TestFunction
{0}
End Function
End Module
", code, extraDefinitions ?? string.Empty));
var compilation = VisualBasicCompilation.Create(
"VBTest_" + Guid.NewGuid().ToString(),
new[] { syntaxTree },
references,
new VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary)
);
using (var stream = new MemoryStream())
{
var result = compilation.Emit(stream);
if (!result.Success)
{
var messageBuilder = new StringBuilder("Errors encountered during Visual Basic compilation:\n");
foreach (var diagnostic in result.Diagnostics)
{
messageBuilder.Append(diagnostic);
messageBuilder.Append('\n');
}
throw new OperationCanceledException(messageBuilder.ToString());
}
stream.Seek(0, SeekOrigin.Begin);
return AssemblyLoadContext.Default.LoadFromStream(stream).GetType("TestModule").InvokeMember("TestFunction", BindingFlags.InvokeMethod, null, null, ArrayHelpers.GetEmptyArray<object>());
}
}
}
}

Просмотреть файл

@ -13,4 +13,4 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("7.0.0")]
[assembly: AssemblyFileVersion("7.0.0")]
[assembly: AssemblyInformationalVersion("7.0.0-rc4")]
[assembly: AssemblyInformationalVersion("7.0.0-rc5")]

Просмотреть файл

@ -9,8 +9,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public partial class PropertyBagTest : ClearScriptTest
{

Просмотреть файл

@ -12,8 +12,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class ScriptAccessTest : ClearScriptTest
{

Просмотреть файл

@ -11,8 +11,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class StaticMemberAccessTest : ClearScriptTest
{

Просмотреть файл

@ -8,8 +8,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class TypeRestrictionTest : ClearScriptTest
{

Просмотреть файл

@ -12,8 +12,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class V8ArrayBufferOrViewTest : ClearScriptTest
{

Просмотреть файл

@ -13,8 +13,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[DeploymentItem("JavaScript", "JavaScript")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
public class V8ModuleTest : ClearScriptTest

Просмотреть файл

@ -1,4 +1,4 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
@ -8,6 +8,7 @@ using System.Linq;
using System.Threading;
using System.Windows.Threading;
using Microsoft.ClearScript.V8;
using Microsoft.ClearScript.Windows;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
@ -568,6 +569,14 @@ namespace Microsoft.ClearScript.Test
Assert.AreEqual("Hello, world!", data);
}
[TestMethod, TestCategory("V8ScriptEngine")]
public void V8ScriptEngine_Nothing()
{
engine.Script.foo = new Func<object>(() => Nothing.Value);
Assert.IsTrue((bool)engine.Evaluate("foo() == undefined"));
Assert.IsTrue((bool)engine.Evaluate("foo() === undefined"));
}
// ReSharper restore InconsistentNaming
#endregion

Просмотреть файл

@ -17,7 +17,6 @@ using Microsoft.ClearScript.JavaScript;
using Microsoft.CSharp.RuntimeBinder;
using Microsoft.ClearScript.Util;
using Microsoft.ClearScript.V8;
using Microsoft.ClearScript.Windows;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
@ -27,8 +26,8 @@ using System.Threading.Tasks;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[DeploymentItem("JavaScript", "JavaScript")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
[SuppressMessage("ReSharper", "StringLiteralTypo", Justification = "Typos in test code are acceptable.")]
@ -2722,14 +2721,6 @@ namespace Microsoft.ClearScript.Test
Assert.IsTrue(indices.Contains(1));
}
[TestMethod, TestCategory("V8ScriptEngine")]
public void V8ScriptEngine_Nothing()
{
engine.Script.foo = new Func<object>(() => Nothing.Value);
Assert.IsTrue((bool)engine.Evaluate("foo() == undefined"));
Assert.IsTrue((bool)engine.Evaluate("foo() === undefined"));
}
[TestMethod, TestCategory("V8ScriptEngine")]
public void V8ScriptEngine_CpuProfileSampleInterval_Plumbing()
{

Просмотреть файл

@ -23,8 +23,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.ClearScript.Test
{
[TestClass]
[DeploymentItem("ClearScriptV8-64.dll")]
[DeploymentItem("ClearScriptV8-32.dll")]
[DeploymentItem("ClearScriptV8.win-x64.dll")]
[DeploymentItem("ClearScriptV8.win-x86.dll")]
[DeploymentItem("VBScript", "VBScript")]
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")]
[SuppressMessage("ReSharper", "StringLiteralTypo", Justification = "Typos in test code are acceptable.")]

Просмотреть файл

@ -14,6 +14,7 @@
<ProjectGuid>{CDCF4EEA-1CA4-412E-8C77-78893A67A577}</ProjectGuid>
<Keyword>ManagedCProj</Keyword>
<RootNamespace>ClearScriptV864</RootNamespace>
<ProjectName>ClearScriptV8.win-x64</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

Просмотреть файл

@ -21,7 +21,7 @@ BEGIN
BEGIN
BLOCK "000004b0"
BEGIN
VALUE "FileDescription", "ClearScript V8 Library (64-bit)"
VALUE "FileDescription", "ClearScript V8 Native Library (64-bit)"
VALUE "FileVersion", CLEARSCRIPT_VERSION_STRING
VALUE "InternalName", "ClearScriptV8-64.dll"
VALUE "LegalCopyright", "(c) Microsoft Corporation"

Просмотреть файл

@ -14,6 +14,7 @@
<ProjectGuid>{2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}</ProjectGuid>
<Keyword>ManagedCProj</Keyword>
<RootNamespace>ClearScriptV832</RootNamespace>
<ProjectName>ClearScriptV8.win-x86</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

Просмотреть файл

@ -21,7 +21,7 @@ BEGIN
BEGIN
BLOCK "000004b0"
BEGIN
VALUE "FileDescription", "ClearScript V8 Library (32-bit)"
VALUE "FileDescription", "ClearScript V8 Native Library (32-bit)"
VALUE "FileVersion", CLEARSCRIPT_VERSION_STRING
VALUE "InternalName", "ClearScriptV8-32.dll"
VALUE "LegalCopyright", "(c) Microsoft Corporation"

Просмотреть файл

@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RootNamespace>Microsoft.ClearScript</RootNamespace>
<AssemblyName>ClearScript</AssemblyName>
<AssemblyName>ClearScript.Core</AssemblyName>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
@ -12,8 +12,9 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>CS0618</NoWarn>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<OutputPath>..\..\bin\Debug\Unix</OutputPath>
<DocumentationFile>..\..\bin\Debug\Unix\netcoreapp3.1\ClearScript.xml</DocumentationFile>
<OutputPath>..\..\bin\Debug</OutputPath>
<WarningsAsErrors />
<DocumentationFile>..\..\bin\Debug\netcoreapp3.1\ClearScript.Core.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
@ -21,8 +22,9 @@
<NoWarn>CS0618</NoWarn>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DefineConstants>TRACE</DefineConstants>
<OutputPath>..\..\bin\Release\Unix</OutputPath>
<DocumentationFile>..\..\bin\Release\Unix\netcoreapp3.1\ClearScript.xml</DocumentationFile>
<OutputPath>..\..\bin\Release</OutputPath>
<WarningsAsErrors />
<DocumentationFile>..\..\bin\Release\netcoreapp3.1\ClearScript.Core.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="Exists('$(SolutionDir)ClearScript.snk')">
@ -61,7 +63,7 @@
<Compile Include="..\..\ClearScript\HostIndexedProperty.cs" Link="HostIndexedProperty.cs" />
<Compile Include="..\..\ClearScript\HostItem.cs" Link="HostItem.cs" />
<Compile Include="..\..\ClearScript\HostItem.InvokeMethod.cs" Link="HostItem.InvokeMethod.cs" />
<Compile Include="..\..\ClearScript\HostItem.Unix.cs" Link="HostItem.Unix.cs" />
<Compile Include="..\..\ClearScript\HostItem.NetCore.cs" Link="HostItem.NetCore.cs" />
<Compile Include="..\..\ClearScript\HostItemCollateral.cs" Link="HostItemCollateral.cs" />
<Compile Include="..\..\ClearScript\HostItemFlags.cs" Link="HostItemFlags.cs" />
<Compile Include="..\..\ClearScript\HostList.cs" Link="HostList.cs" />
@ -89,7 +91,7 @@
<Compile Include="..\..\ClearScript\JavaScript\ModuleCategory.cs" Link="JavaScript\ModuleCategory.cs" />
<Compile Include="..\..\ClearScript\NoDefaultScriptAccessAttribute.cs" Link="NoDefaultScriptAccessAttribute.cs" />
<Compile Include="..\..\ClearScript\NoScriptAccessAttribute.cs" Link="NoScriptAccessAttribute.cs" />
<Compile Include="..\..\ClearScript\Properties\AssemblyInfo.cs" Link="Properties\AssemblyInfo.cs" />
<Compile Include="..\..\ClearScript\Properties\AssemblyInfo.Core.cs" Link="Properties\AssemblyInfo.Core.cs" />
<Compile Include="..\..\ClearScript\PropertyBag.cs" Link="PropertyBag.cs" />
<Compile Include="..\..\ClearScript\ScriptAccess.cs" Link="ScriptAccess.cs" />
<Compile Include="..\..\ClearScript\ScriptEngine.cs" Link="ScriptEngine.cs" />
@ -136,12 +138,11 @@
<Compile Include="..\..\ClearScript\Util\MemberHelpers.cs" Link="Util\MemberHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\MemberMap.cs" Link="Util\MemberMap.cs" />
<Compile Include="..\..\ClearScript\Util\MiscHelpers.cs" Link="Util\MiscHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\MiscHelpers.Unix.cs" Link="Util\MiscHelpers.Unix.cs" />
<Compile Include="..\..\ClearScript\Util\MiscHelpers.NetCore.cs" Link="Util\MiscHelpers.NetCore.cs" />
<Compile Include="..\..\ClearScript\Util\NativeCallbackTimer.cs" Link="Util\NativeCallbackTimer.cs" />
<Compile Include="..\..\ClearScript\Util\NativeMethods.Unix.cs" Link="Util\NativeMethods.Unix.cs" />
<Compile Include="..\..\ClearScript\Util\NativeMethods.cs" Link="Util\NativeMethods.cs" />
<Compile Include="..\..\ClearScript\Util\Nonexistent.cs" Link="Util\Nonexistent.cs" />
<Compile Include="..\..\ClearScript\Util\ObjectHelpers.cs" Link="Util\ObjectHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\ObjectHelpers.Unix.cs" Link="Util\ObjectHelpers.Unix.cs" />
<Compile Include="..\..\ClearScript\Util\OneWayFlag.cs" Link="Util\OneWayFlag.cs" />
<Compile Include="..\..\ClearScript\Util\Scope.cs" Link="Util\Scope.cs" />
<Compile Include="..\..\ClearScript\Util\SocketHelpers.cs" Link="Util\SocketHelpers.cs" />
@ -149,60 +150,20 @@
<Compile Include="..\..\ClearScript\Util\SpecialMemberNames.cs" Link="Util\SpecialMemberNames.cs" />
<Compile Include="..\..\ClearScript\Util\SpecialParamNames.cs" Link="Util\SpecialParamNames.cs" />
<Compile Include="..\..\ClearScript\Util\Test\AccessContextTestObject.cs" Link="Util\Test\AccessContextTestObject.cs" />
<Compile Include="..\..\ClearScript\Util\TypeGuidMocks.cs" Link="Util\TypeGuidMocks.cs" />
<Compile Include="..\..\ClearScript\Util\TypeGuids.cs" Link="Util\TypeGuids.cs" />
<Compile Include="..\..\ClearScript\Util\TypeHelpers.cs" Link="Util\TypeHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\TypeHelpers.NetCore.cs" Link="Util\TypeHelpers.NetCore.cs" />
<Compile Include="..\..\ClearScript\Util\UniqueNameManager.cs" Link="Util\UniqueNameManager.cs" />
<Compile Include="..\..\ClearScript\Util\UnmanagedMemoryHelpers.cs" Link="Util\UnmanagedMemoryHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\VTableHelpers.cs" Link="Util\VTableHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\VTablePatcher.cs" Link="Util\VTablePatcher.cs" />
<Compile Include="..\..\ClearScript\Util\Web\WebContext.cs" Link="Util\Web\WebContext.cs" />
<Compile Include="..\..\ClearScript\Util\Web\WebRequest.cs" Link="Util\Web\WebRequest.cs" />
<Compile Include="..\..\ClearScript\Util\Web\WebResponse.cs" Link="Util\Web\WebResponse.cs" />
<Compile Include="..\..\ClearScript\Util\Web\WebSocket.cs" Link="Util\Web\WebSocket.cs" />
<Compile Include="..\..\ClearScript\Util\_Exception.cs" Link="Util\_Exception.cs" />
<Compile Include="..\..\ClearScript\V8\IV8DebugListener.cs" Link="V8\IV8DebugListener.cs" />
<Compile Include="..\..\ClearScript\V8\IV8Object.cs" Link="V8\IV8Object.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\IV8SplitProxyNative.cs" Link="V8\SplitProxy\IV8SplitProxyNative.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\NativeCallbackImpl.cs" Link="V8\SplitProxy\NativeCallbackImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8DebugListenerImpl.cs" Link="V8\SplitProxy\V8DebugListenerImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8EntityHolder.cs" Link="V8\SplitProxy\V8EntityHolder.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8ScriptImpl.cs" Link="V8\SplitProxy\V8ScriptImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyHelpers.cs" Link="V8\SplitProxy\V8SplitProxyHelpers.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyManaged.cs" Link="V8\SplitProxy\V8SplitProxyManaged.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyNative.cs" Link="V8\SplitProxy\V8SplitProxyNative.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyNative.Unix.cs" Link="V8\SplitProxy\V8SplitProxyNative.Unix.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8ContextProxyImpl.cs" Link="V8\SplitProxy\V8ContextProxyImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8IsolateProxyImpl.cs" Link="V8\SplitProxy\V8IsolateProxyImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8ObjectImpl.cs" Link="V8\SplitProxy\V8ObjectImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8TestProxyImpl.cs" Link="V8\SplitProxy\V8TestProxyImpl.cs" />
<Compile Include="..\..\ClearScript\V8\V8ArrayBufferOrViewInfo.cs" Link="V8\V8ArrayBufferOrViewInfo.cs" />
<Compile Include="..\..\ClearScript\V8\V8ArrayBufferOrViewKind.cs" Link="V8\V8ArrayBufferOrViewKind.cs" />
<Compile Include="..\..\ClearScript\V8\V8CacheKind.cs" Link="V8\V8CacheKind.cs" />
<Compile Include="..\..\ClearScript\V8\V8ContextProxy.cs" Link="V8\V8ContextProxy.cs" />
<Compile Include="..\..\ClearScript\V8\V8CpuProfile.cs" Link="V8\V8CpuProfile.cs" />
<Compile Include="..\..\ClearScript\V8\V8CpuProfileFlags.cs" Link="V8\V8CpuProfileFlags.cs" />
<Compile Include="..\..\ClearScript\V8\V8DebugAgent.cs" Link="V8\V8DebugAgent.cs" />
<Compile Include="..\..\ClearScript\V8\V8DebugClient.cs" Link="V8\V8DebugClient.cs" />
<Compile Include="..\..\ClearScript\V8\V8IsolateProxy.cs" Link="V8\V8IsolateProxy.cs" />
<Compile Include="..\..\ClearScript\V8\V8Proxy.cs" Link="V8\V8Proxy.cs" />
<Compile Include="..\..\ClearScript\V8\V8Proxy.Unix.cs" Link="V8\V8Proxy.Unix.cs" />
<Compile Include="..\..\ClearScript\V8\V8ProxyHelpers.cs" Link="V8\V8ProxyHelpers.cs" />
<Compile Include="..\..\ClearScript\V8\V8Runtime.cs" Link="V8\V8Runtime.cs" />
<Compile Include="..\..\ClearScript\V8\V8RuntimeConstraints.cs" Link="V8\V8RuntimeConstraints.cs" />
<Compile Include="..\..\ClearScript\V8\V8RuntimeFlags.cs" Link="V8\V8RuntimeFlags.cs" />
<Compile Include="..\..\ClearScript\V8\V8RuntimeHeapInfo.cs" Link="V8\V8RuntimeHeapInfo.cs" />
<Compile Include="..\..\ClearScript\V8\V8Script.cs" Link="V8\V8Script.cs" />
<Compile Include="..\..\ClearScript\V8\V8ScriptEngine.cs" Link="V8\V8ScriptEngine.cs" />
<Compile Include="..\..\ClearScript\V8\V8ScriptEngineFlags.cs" Link="V8\V8ScriptEngineFlags.cs" />
<Compile Include="..\..\ClearScript\V8\V8ScriptItem.cs" Link="V8\V8ScriptItem.cs" />
<Compile Include="..\..\ClearScript\V8\V8TestProxy.cs" Link="V8\V8TestProxy.cs" />
<Compile Include="..\..\ClearScript\VoidResult.cs" Link="VoidResult.cs" />
<Compile Include="..\..\ClearScript\Windows\IHostWindow.cs" Link="Windows\IHostWindow.cs" />
<Compile Include="..\..\ClearScript\Windows\IWindowsScriptObject.cs" Link="Windows\IWindowsScriptObject.cs" />
<Compile Include="..\..\ClearScript\Windows\JScriptEngine.Unix.cs" Link="Windows\JScriptEngine.Unix.cs" />
<Compile Include="..\..\ClearScript\Windows\Nothing.cs" Link="Windows\Nothing.cs" />
<Compile Include="..\..\ClearScript\Windows\VBScriptEngine.Unix.cs" Link="Windows\VBScriptEngine.Unix.cs" />
<Compile Include="..\..\ClearScript\Windows\WindowsScriptEngine.Unix.cs" Link="Windows\WindowsScriptEngine.Unix.cs" />
<Compile Include="..\..\ClearScript\Windows\WindowsScriptEngineFlags.cs" Link="Windows\WindowsScriptEngineFlags.cs" />
<Compile Include="..\..\ClearScript\Windows\WindowsScriptItem.Unix.cs" Link="Windows\WindowsScriptItem.Unix.cs" />
</ItemGroup>
<ItemGroup>
@ -211,20 +172,10 @@
<Folder Include="Util\COM\" />
<Folder Include="Util\Test\" />
<Folder Include="Util\Web\" />
<Folder Include="V8\SplitProxy\" />
<Folder Include="Windows\" />
</ItemGroup>
<ItemGroup>
<Content Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))'" Include="..\..\bin\$(Configuration)\Unix\ClearScriptV8.so" Link="ClearScriptV8.so">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Content Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))'" Include="..\..\bin\$(Configuration)\Unix\ClearScriptV8.dylib" Link="ClearScriptV8.dylib">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<PackageReference Include="Microsoft.Win32.Registry" Version="4.7.0" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,128 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RootNamespace>Microsoft.ClearScript</RootNamespace>
<AssemblyName>ClearScript.V8</AssemblyName>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DefineConstants>TRACE;DEBUG</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>CS0618</NoWarn>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<OutputPath>..\..\bin\Debug</OutputPath>
<WarningsAsErrors />
<DocumentationFile>..\..\bin\Debug\netcoreapp3.1\ClearScript.V8.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>CS0618</NoWarn>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DefineConstants>TRACE</DefineConstants>
<OutputPath>..\..\bin\Release</OutputPath>
<WarningsAsErrors />
<DocumentationFile>..\..\bin\Release\netcoreapp3.1\ClearScript.V8.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="Exists('$(SolutionDir)ClearScript.snk')">
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(SolutionDir)ClearScript.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup Condition="!Exists('$(SolutionDir)ClearScript.snk') And Exists('$(SolutionDir)ClearScript.DelaySign.snk')">
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(SolutionDir)ClearScript.DelaySign.snk</AssemblyOriginatorKeyFile>
<DelaySign>true</DelaySign>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\ClearScript\Properties\AssemblyInfo.V8.cs" Link="Properties\AssemblyInfo.V8.cs" />
<Compile Include="..\..\ClearScript\V8\IV8DebugListener.cs" Link="V8\IV8DebugListener.cs" />
<Compile Include="..\..\ClearScript\V8\IV8Object.cs" Link="V8\IV8Object.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\IV8SplitProxyNative.cs" Link="V8\SplitProxy\IV8SplitProxyNative.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\NativeCallbackImpl.cs" Link="V8\SplitProxy\NativeCallbackImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8ContextProxyImpl.cs" Link="V8\SplitProxy\V8ContextProxyImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8DebugListenerImpl.cs" Link="V8\SplitProxy\V8DebugListenerImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8EntityHolder.cs" Link="V8\SplitProxy\V8EntityHolder.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8IsolateProxyImpl.cs" Link="V8\SplitProxy\V8IsolateProxyImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8ObjectImpl.cs" Link="V8\SplitProxy\V8ObjectImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8ScriptImpl.cs" Link="V8\SplitProxy\V8ScriptImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyHelpers.cs" Link="V8\SplitProxy\V8SplitProxyHelpers.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyManaged.cs" Link="V8\SplitProxy\V8SplitProxyManaged.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyNative.cs" Link="V8\SplitProxy\V8SplitProxyNative.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyNative.Generated.cs" Link="V8\SplitProxy\V8SplitProxyNative.Generated.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyNative.NetCore.cs" Link="V8\SplitProxy\V8SplitProxyNative.NetCore.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8TestProxyImpl.cs" Link="V8\SplitProxy\V8TestProxyImpl.cs" />
<Compile Include="..\..\ClearScript\V8\V8ArrayBufferOrViewInfo.cs" Link="V8\V8ArrayBufferOrViewInfo.cs" />
<Compile Include="..\..\ClearScript\V8\V8ArrayBufferOrViewKind.cs" Link="V8\V8ArrayBufferOrViewKind.cs" />
<Compile Include="..\..\ClearScript\V8\V8CacheKind.cs" Link="V8\V8CacheKind.cs" />
<Compile Include="..\..\ClearScript\V8\V8ContextProxy.cs" Link="V8\V8ContextProxy.cs" />
<Compile Include="..\..\ClearScript\V8\V8CpuProfile.cs" Link="V8\V8CpuProfile.cs" />
<Compile Include="..\..\ClearScript\V8\V8CpuProfileFlags.cs" Link="V8\V8CpuProfileFlags.cs" />
<Compile Include="..\..\ClearScript\V8\V8DebugAgent.cs" Link="V8\V8DebugAgent.cs" />
<Compile Include="..\..\ClearScript\V8\V8DebugClient.cs" Link="V8\V8DebugClient.cs" />
<Compile Include="..\..\ClearScript\V8\V8IsolateProxy.cs" Link="V8\V8IsolateProxy.cs" />
<Compile Include="..\..\ClearScript\V8\V8Proxy.cs" Link="V8\V8Proxy.cs" />
<Compile Include="..\..\ClearScript\V8\V8Proxy.NetCore.cs" Link="V8\V8Proxy.NetCore.cs" />
<Compile Include="..\..\ClearScript\V8\V8ProxyHelpers.cs" Link="V8\V8ProxyHelpers.cs" />
<Compile Include="..\..\ClearScript\V8\V8Runtime.cs" Link="V8\V8Runtime.cs" />
<Compile Include="..\..\ClearScript\V8\V8RuntimeConstraints.cs" Link="V8\V8RuntimeConstraints.cs" />
<Compile Include="..\..\ClearScript\V8\V8RuntimeFlags.cs" Link="V8\V8RuntimeFlags.cs" />
<Compile Include="..\..\ClearScript\V8\V8RuntimeHeapInfo.cs" Link="V8\V8RuntimeHeapInfo.cs" />
<Compile Include="..\..\ClearScript\V8\V8Script.cs" Link="V8\V8Script.cs" />
<Compile Include="..\..\ClearScript\V8\V8ScriptEngine.cs" Link="V8\V8ScriptEngine.cs" />
<Compile Include="..\..\ClearScript\V8\V8ScriptEngineFlags.cs" Link="V8\V8ScriptEngineFlags.cs" />
<Compile Include="..\..\ClearScript\V8\V8ScriptItem.cs" Link="V8\V8ScriptItem.cs" />
<Compile Include="..\..\ClearScript\V8\V8TestProxy.cs" Link="V8\V8TestProxy.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
<Folder Include="V8\" />
<Folder Include="V8\SplitProxy\" />
</ItemGroup>
<ItemGroup>
<None Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))'" Include="..\..\bin\$(Configuration)\ClearScriptV8.win-x86.dll" Link="ClearScriptV8.win-x86.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
</None>
<None Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))'" Include="..\..\bin\$(Configuration)\ClearScriptV8.win-x86.pdb" Link="ClearScriptV8.win-x86.pdb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
</None>
<None Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))'" Include="..\..\bin\$(Configuration)\ClearScriptV8.win-x64.dll" Link="ClearScriptV8.win-x64.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
</None>
<None Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))'" Include="..\..\bin\$(Configuration)\ClearScriptV8.win-x64.pdb" Link="ClearScriptV8.win-x64.pdb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
</None>
</ItemGroup>
<ItemGroup>
<None Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))'" Include="..\..\bin\$(Configuration)\Unix\ClearScriptV8.linux-x64.so" Link="ClearScriptV8.linux-x64.so">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
</None>
</ItemGroup>
<ItemGroup>
<None Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))'" Include="..\..\bin\$(Configuration)\Unix\ClearScriptV8.osx-x64.dylib" Link="ClearScriptV8.osx-x64.dylib">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="ClearScript.Core.csproj" />
</ItemGroup>
<ItemGroup>
<Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,67 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
<RootNamespace>Microsoft.ClearScript</RootNamespace>
<AssemblyName>ClearScript.Windows</AssemblyName>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DefineConstants>TRACE;DEBUG</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>CS0618</NoWarn>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<OutputPath>..\..\bin\Debug</OutputPath>
<WarningsAsErrors />
<DocumentationFile>..\..\bin\Debug\netcoreapp3.1\ClearScript.Windows.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>CS0618</NoWarn>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DefineConstants>TRACE</DefineConstants>
<OutputPath>..\..\bin\Release</OutputPath>
<WarningsAsErrors />
<DocumentationFile>..\..\bin\Release\netcoreapp3.1\ClearScript.Windows.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="Exists('$(SolutionDir)ClearScript.snk')">
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(SolutionDir)ClearScript.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup Condition="!Exists('$(SolutionDir)ClearScript.snk') And Exists('$(SolutionDir)ClearScript.DelaySign.snk')">
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(SolutionDir)ClearScript.DelaySign.snk</AssemblyOriginatorKeyFile>
<DelaySign>true</DelaySign>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\ClearScript\Properties\AssemblyInfo.Windows.cs" Link="Properties\AssemblyInfo.Windows.cs" />
<Compile Include="..\..\ClearScript\Windows\ActiveXDebugging.cs" Link="Windows\ActiveXDebugging.cs" />
<Compile Include="..\..\ClearScript\Windows\ActiveXScripting.cs" Link="Windows\ActiveXScripting.cs" />
<Compile Include="..\..\ClearScript\Windows\ActiveXWrappers.cs" Link="Windows\ActiveXWrappers.cs" />
<Compile Include="..\..\ClearScript\Windows\IHostWindow.cs" Link="Windows\IHostWindow.cs" />
<Compile Include="..\..\ClearScript\Windows\IWindowsScriptObject.cs" Link="Windows\IWindowsScriptObject.cs" />
<Compile Include="..\..\ClearScript\Windows\JScriptEngine.cs" Link="Windows\JScriptEngine.cs" />
<Compile Include="..\..\ClearScript\Windows\Nothing.cs" Link="Windows\Nothing.cs" />
<Compile Include="..\..\ClearScript\Windows\VBScriptEngine.cs" Link="Windows\VBScriptEngine.cs" />
<Compile Include="..\..\ClearScript\Windows\WindowsScriptEngine.cs" Link="Windows\WindowsScriptEngine.cs" />
<Compile Include="..\..\ClearScript\Windows\WindowsScriptEngine.Debug.cs" Link="Windows\WindowsScriptEngine.Debug.cs" />
<Compile Include="..\..\ClearScript\Windows\WindowsScriptEngine.Site.cs" Link="Windows\WindowsScriptEngine.Site.cs" />
<Compile Include="..\..\ClearScript\Windows\WindowsScriptEngineFlags.cs" Link="Windows\WindowsScriptEngineFlags.cs" />
<Compile Include="..\..\ClearScript\Windows\WindowsScriptItem.cs" Link="Windows\WindowsScriptItem.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
<Folder Include="Windows\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="ClearScript.Core.csproj" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,246 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
<RootNamespace>Microsoft.ClearScript</RootNamespace>
<AssemblyName>ClearScript</AssemblyName>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DefineConstants>TRACE;DEBUG</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>CS0618</NoWarn>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<OutputPath>..\..\bin\Debug</OutputPath>
<WarningsAsErrors />
<DocumentationFile>..\..\bin\Debug\netcoreapp3.1\ClearScript.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>CS0618</NoWarn>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DefineConstants>TRACE</DefineConstants>
<OutputPath>..\..\bin\Release</OutputPath>
<WarningsAsErrors />
<DocumentationFile>..\..\bin\Release\netcoreapp3.1\ClearScript.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="Exists('$(SolutionDir)ClearScript.snk')">
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(SolutionDir)ClearScript.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup Condition="!Exists('$(SolutionDir)ClearScript.snk') And Exists('$(SolutionDir)ClearScript.DelaySign.snk')">
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(SolutionDir)ClearScript.DelaySign.snk</AssemblyOriginatorKeyFile>
<DelaySign>true</DelaySign>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\ClearScript\BindSignature.cs" Link="BindSignature.cs" />
<Compile Include="..\..\ClearScript\ByRefArg.cs" Link="ByRefArg.cs" />
<Compile Include="..\..\ClearScript\CanonicalRefTable.cs" Link="CanonicalRefTable.cs" />
<Compile Include="..\..\ClearScript\ContinuationCallback.cs" Link="ContinuationCallback.cs" />
<Compile Include="..\..\ClearScript\DefaultScriptUsageAttribute.cs" Link="DefaultScriptUsageAttribute.cs" />
<Compile Include="..\..\ClearScript\DelegateFactory.cs" Link="DelegateFactory.cs" />
<Compile Include="..\..\ClearScript\DelegateFactory.Generated.cs" Link="DelegateFactory.Generated.cs" />
<Compile Include="..\..\ClearScript\Document.cs" Link="Document.cs" />
<Compile Include="..\..\ClearScript\DocumentAccessFlags.cs" Link="DocumentAccessFlags.cs" />
<Compile Include="..\..\ClearScript\DocumentCategory.cs" Link="DocumentCategory.cs" />
<Compile Include="..\..\ClearScript\DocumentContextCallback.cs" Link="DocumentContextCallback.cs" />
<Compile Include="..\..\ClearScript\DocumentFlags.cs" Link="DocumentFlags.cs" />
<Compile Include="..\..\ClearScript\DocumentInfo.cs" Link="DocumentInfo.cs" />
<Compile Include="..\..\ClearScript\DocumentLoadCallback.cs" Link="DocumentLoadCallback.cs" />
<Compile Include="..\..\ClearScript\DocumentLoader.cs" Link="DocumentLoader.cs" />
<Compile Include="..\..\ClearScript\DocumentSettings.cs" Link="DocumentSettings.cs" />
<Compile Include="..\..\ClearScript\DynamicHostMetaObject.cs" Link="DynamicHostMetaObject.cs" />
<Compile Include="..\..\ClearScript\DynamicHostObject.cs" Link="DynamicHostObject.cs" />
<Compile Include="..\..\ClearScript\ExtensionMethods.cs" Link="ExtensionMethods.cs" />
<Compile Include="..\..\ClearScript\Extensions.cs" Link="Extensions.cs" />
<Compile Include="..\..\ClearScript\HostEvent.cs" Link="HostEvent.cs" />
<Compile Include="..\..\ClearScript\HostFunctions.cs" Link="HostFunctions.cs" />
<Compile Include="..\..\ClearScript\HostIndexedProperty.cs" Link="HostIndexedProperty.cs" />
<Compile Include="..\..\ClearScript\HostItem.cs" Link="HostItem.cs" />
<Compile Include="..\..\ClearScript\HostItem.InvokeMethod.cs" Link="HostItem.InvokeMethod.cs" />
<Compile Include="..\..\ClearScript\HostItem.Windows.cs" Link="HostItem.Windows.cs" />
<Compile Include="..\..\ClearScript\HostItem.Windows.NetCore.cs" Link="HostItem.Windows.NetCore.cs" />
<Compile Include="..\..\ClearScript\HostItemCollateral.cs" Link="HostItemCollateral.cs" />
<Compile Include="..\..\ClearScript\HostItemFlags.cs" Link="HostItemFlags.cs" />
<Compile Include="..\..\ClearScript\HostList.cs" Link="HostList.cs" />
<Compile Include="..\..\ClearScript\HostMethod.cs" Link="HostMethod.cs" />
<Compile Include="..\..\ClearScript\HostObject.cs" Link="HostObject.cs" />
<Compile Include="..\..\ClearScript\HostSettings.cs" Link="HostSettings.cs" />
<Compile Include="..\..\ClearScript\HostTarget.cs" Link="HostTarget.cs" />
<Compile Include="..\..\ClearScript\HostTargetFlags.cs" Link="HostTargetFlags.cs" />
<Compile Include="..\..\ClearScript\HostTargetMemberData.cs" Link="HostTargetMemberData.cs" />
<Compile Include="..\..\ClearScript\HostType.cs" Link="HostType.cs" />
<Compile Include="..\..\ClearScript\HostTypeCollection.cs" Link="HostTypeCollection.cs" />
<Compile Include="..\..\ClearScript\HostVariable.cs" Link="HostVariable.cs" />
<Compile Include="..\..\ClearScript\ImmutableValueAttribute.cs" Link="ImmutableValueAttribute.cs" />
<Compile Include="..\..\ClearScript\Invocability.cs" Link="Invocability.cs" />
<Compile Include="..\..\ClearScript\IScriptableObject.cs" Link="IScriptableObject.cs" />
<Compile Include="..\..\ClearScript\IScriptEngineException.cs" Link="IScriptEngineException.cs" />
<Compile Include="..\..\ClearScript\JavaScript\CommonJSLegacyModule.cs" Link="JavaScript\CommonJSLegacyModule.cs" />
<Compile Include="..\..\ClearScript\JavaScript\CommonJSManager.cs" Link="JavaScript\CommonJSManager.cs" />
<Compile Include="..\..\ClearScript\JavaScript\IArrayBuffer.cs" Link="JavaScript\IArrayBuffer.cs" />
<Compile Include="..\..\ClearScript\JavaScript\IArrayBufferView.cs" Link="JavaScript\IArrayBufferView.cs" />
<Compile Include="..\..\ClearScript\JavaScript\IDataView.cs" Link="JavaScript\IDataView.cs" />
<Compile Include="..\..\ClearScript\JavaScript\IJavaScriptEngine.cs" Link="JavaScript\IJavaScriptEngine.cs" />
<Compile Include="..\..\ClearScript\JavaScript\ITypedArray.cs" Link="JavaScript\ITypedArray.cs" />
<Compile Include="..\..\ClearScript\JavaScript\JavaScriptExtensions.cs" Link="JavaScript\JavaScriptExtensions.cs" />
<Compile Include="..\..\ClearScript\JavaScript\ModuleCategory.cs" Link="JavaScript\ModuleCategory.cs" />
<Compile Include="..\..\ClearScript\NoDefaultScriptAccessAttribute.cs" Link="NoDefaultScriptAccessAttribute.cs" />
<Compile Include="..\..\ClearScript\NoScriptAccessAttribute.cs" Link="NoScriptAccessAttribute.cs" />
<Compile Include="..\..\ClearScript\Properties\AssemblyInfo.cs" Link="Properties\AssemblyInfo.cs" />
<Compile Include="..\..\ClearScript\PropertyBag.cs" Link="PropertyBag.cs" />
<Compile Include="..\..\ClearScript\ScriptAccess.cs" Link="ScriptAccess.cs" />
<Compile Include="..\..\ClearScript\ScriptEngine.cs" Link="ScriptEngine.cs" />
<Compile Include="..\..\ClearScript\ScriptEngineException.cs" Link="ScriptEngineException.cs" />
<Compile Include="..\..\ClearScript\ScriptInterruptedException.cs" Link="ScriptInterruptedException.cs" />
<Compile Include="..\..\ClearScript\ScriptItem.cs" Link="ScriptItem.cs" />
<Compile Include="..\..\ClearScript\ScriptMemberAttribute.cs" Link="ScriptMemberAttribute.cs" />
<Compile Include="..\..\ClearScript\ScriptMemberFlags.cs" Link="ScriptMemberFlags.cs" />
<Compile Include="..\..\ClearScript\ScriptMethod.cs" Link="ScriptMethod.cs" />
<Compile Include="..\..\ClearScript\ScriptObject.cs" Link="ScriptObject.cs" />
<Compile Include="..\..\ClearScript\ScriptUsageAttribute.cs" Link="ScriptUsageAttribute.cs" />
<Compile Include="..\..\ClearScript\StringDocument.cs" Link="StringDocument.cs" />
<Compile Include="..\..\ClearScript\Undefined.cs" Link="Undefined.cs" />
<Compile Include="..\..\ClearScript\UniqueDocumentInfo.cs" Link="UniqueDocumentInfo.cs" />
<Compile Include="..\..\ClearScript\Util\ArrayHelpers.cs" Link="Util\ArrayHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\AssemblyHelpers.cs" Link="Util\AssemblyHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\AssemblyHelpers.NetCore.cs" Link="Util\AssemblyHelpers.NetCore.cs" />
<Compile Include="..\..\ClearScript\Util\AssemblyTable.NetCore.cs" Link="Util\AssemblyTable.NetCore.cs" />
<Compile Include="..\..\ClearScript\Util\BitwiseHelpers.cs" Link="Util\BitwiseHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\Collateral.cs" Link="Util\Collateral.cs" />
<Compile Include="..\..\ClearScript\Util\COM\ActivationHelpers.cs" Link="Util\COM\ActivationHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\COM\Dispatch.cs" Link="Util\COM\Dispatch.cs" />
<Compile Include="..\..\ClearScript\Util\COM\DispatchHelpers.cs" Link="Util\COM\DispatchHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\COM\DispatchMember.cs" Link="Util\COM\DispatchMember.cs" />
<Compile Include="..\..\ClearScript\Util\COM\DispatchWrappers.cs" Link="Util\COM\DispatchWrappers.cs" />
<Compile Include="..\..\ClearScript\Util\COM\HResult.cs" Link="Util\COM\HResult.cs" />
<Compile Include="..\..\ClearScript\Util\COM\StructHelpers.cs" Link="Util\COM\StructHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\COM\TypeInfoHelpers.cs" Link="Util\COM\TypeInfoHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\COM\TypeInfoHelpers.NetCore.cs" Link="Util\COM\TypeInfoHelpers.NetCore.cs" />
<Compile Include="..\..\ClearScript\Util\COM\TypeLibHelpers.cs" Link="Util\COM\TypeLibHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\COM\UnknownHelpers.cs" Link="Util\COM\UnknownHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\ConcurrentWeakSet.cs" Link="Util\ConcurrentWeakSet.cs" />
<Compile Include="..\..\ClearScript\Util\CoTaskMemBlock.cs" Link="Util\CoTaskMemBlock.cs" />
<Compile Include="..\..\ClearScript\Util\DynamicHelpers.cs" Link="Util\DynamicHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\EnumerableHelpers.cs" Link="Util\EnumerableHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\Holder.cs" Link="Util\Holder.cs" />
<Compile Include="..\..\ClearScript\Util\IDynamic.cs" Link="Util\IDynamic.cs" />
<Compile Include="..\..\ClearScript\Util\IExpando.cs" Link="Util\IExpando.cs" />
<Compile Include="..\..\ClearScript\Util\IHostInvokeContext.cs" Link="Util\IHostInvokeContext.cs" />
<Compile Include="..\..\ClearScript\Util\INativeCallback.cs" Link="Util\INativeCallback.cs" />
<Compile Include="..\..\ClearScript\Util\InvokeHelpers.cs" Link="Util\InvokeHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\IScriptMarshalWrapper.cs" Link="Util\IScriptMarshalWrapper.cs" />
<Compile Include="..\..\ClearScript\Util\MemberComparer.cs" Link="Util\MemberComparer.cs" />
<Compile Include="..\..\ClearScript\Util\MemberHelpers.cs" Link="Util\MemberHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\MemberMap.cs" Link="Util\MemberMap.cs" />
<Compile Include="..\..\ClearScript\Util\MiscHelpers.cs" Link="Util\MiscHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\MiscHelpers.Windows.cs" Link="Util\MiscHelpers.Windows.cs" />
<Compile Include="..\..\ClearScript\Util\NativeCallbackTimer.cs" Link="Util\NativeCallbackTimer.cs" />
<Compile Include="..\..\ClearScript\Util\NativeMethods.Windows.cs" Link="Util\NativeMethods.Windows.cs" />
<Compile Include="..\..\ClearScript\Util\Nonexistent.cs" Link="Util\Nonexistent.cs" />
<Compile Include="..\..\ClearScript\Util\ObjectHelpers.cs" Link="Util\ObjectHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\ObjectHelpers.Windows.cs" Link="Util\ObjectHelpers.Windows.cs" />
<Compile Include="..\..\ClearScript\Util\OneWayFlag.cs" Link="Util\OneWayFlag.cs" />
<Compile Include="..\..\ClearScript\Util\Scope.cs" Link="Util\Scope.cs" />
<Compile Include="..\..\ClearScript\Util\SocketHelpers.cs" Link="Util\SocketHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\SpecialDispIDs.cs" Link="Util\SpecialDispIDs.cs" />
<Compile Include="..\..\ClearScript\Util\SpecialMemberNames.cs" Link="Util\SpecialMemberNames.cs" />
<Compile Include="..\..\ClearScript\Util\SpecialParamNames.cs" Link="Util\SpecialParamNames.cs" />
<Compile Include="..\..\ClearScript\Util\Test\AccessContextTestObject.cs" Link="Util\Test\AccessContextTestObject.cs" />
<Compile Include="..\..\ClearScript\Util\TypeHelpers.cs" Link="Util\TypeHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\TypeHelpers.NetCore.cs" Link="Util\TypeHelpers.NetCore.cs" />
<Compile Include="..\..\ClearScript\Util\UniqueNameManager.cs" Link="Util\UniqueNameManager.cs" />
<Compile Include="..\..\ClearScript\Util\UnmanagedMemoryHelpers.cs" Link="Util\UnmanagedMemoryHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\VTableHelpers.cs" Link="Util\VTableHelpers.cs" />
<Compile Include="..\..\ClearScript\Util\VTablePatcher.cs" Link="Util\VTablePatcher.cs" />
<Compile Include="..\..\ClearScript\Util\Web\WebContext.cs" Link="Util\Web\WebContext.cs" />
<Compile Include="..\..\ClearScript\Util\Web\WebRequest.cs" Link="Util\Web\WebRequest.cs" />
<Compile Include="..\..\ClearScript\Util\Web\WebResponse.cs" Link="Util\Web\WebResponse.cs" />
<Compile Include="..\..\ClearScript\Util\Web\WebSocket.cs" Link="Util\Web\WebSocket.cs" />
<Compile Include="..\..\ClearScript\Util\_Exception.cs" Link="Util\_Exception.cs" />
<Compile Include="..\..\ClearScript\V8\IV8DebugListener.cs" Link="V8\IV8DebugListener.cs" />
<Compile Include="..\..\ClearScript\V8\IV8Object.cs" Link="V8\IV8Object.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\IV8SplitProxyNative.cs" Link="V8\SplitProxy\IV8SplitProxyNative.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\NativeCallbackImpl.cs" Link="V8\SplitProxy\NativeCallbackImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8DebugListenerImpl.cs" Link="V8\SplitProxy\V8DebugListenerImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8EntityHolder.cs" Link="V8\SplitProxy\V8EntityHolder.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8ScriptImpl.cs" Link="V8\SplitProxy\V8ScriptImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyHelpers.cs" Link="V8\SplitProxy\V8SplitProxyHelpers.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyManaged.cs" Link="V8\SplitProxy\V8SplitProxyManaged.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyNative.cs" Link="V8\SplitProxy\V8SplitProxyNative.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyNative.Windows.32.cs" Link="V8\SplitProxy\V8SplitProxyNative.Windows.32.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyNative.Windows.64.cs" Link="V8\SplitProxy\V8SplitProxyNative.Windows.64.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8SplitProxyNative.Windows.cs" Link="V8\SplitProxy\V8SplitProxyNative.Windows.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8ContextProxyImpl.cs" Link="V8\SplitProxy\V8ContextProxyImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8IsolateProxyImpl.cs" Link="V8\SplitProxy\V8IsolateProxyImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8ObjectImpl.cs" Link="V8\SplitProxy\V8ObjectImpl.cs" />
<Compile Include="..\..\ClearScript\V8\SplitProxy\V8TestProxyImpl.cs" Link="V8\SplitProxy\V8TestProxyImpl.cs" />
<Compile Include="..\..\ClearScript\V8\V8ArrayBufferOrViewInfo.cs" Link="V8\V8ArrayBufferOrViewInfo.cs" />
<Compile Include="..\..\ClearScript\V8\V8ArrayBufferOrViewKind.cs" Link="V8\V8ArrayBufferOrViewKind.cs" />
<Compile Include="..\..\ClearScript\V8\V8CacheKind.cs" Link="V8\V8CacheKind.cs" />
<Compile Include="..\..\ClearScript\V8\V8ContextProxy.cs" Link="V8\V8ContextProxy.cs" />
<Compile Include="..\..\ClearScript\V8\V8CpuProfile.cs" Link="V8\V8CpuProfile.cs" />
<Compile Include="..\..\ClearScript\V8\V8CpuProfileFlags.cs" Link="V8\V8CpuProfileFlags.cs" />
<Compile Include="..\..\ClearScript\V8\V8DebugAgent.cs" Link="V8\V8DebugAgent.cs" />
<Compile Include="..\..\ClearScript\V8\V8DebugClient.cs" Link="V8\V8DebugClient.cs" />
<Compile Include="..\..\ClearScript\V8\V8IsolateProxy.cs" Link="V8\V8IsolateProxy.cs" />
<Compile Include="..\..\ClearScript\V8\V8Proxy.cs" Link="V8\V8Proxy.cs" />
<Compile Include="..\..\ClearScript\V8\V8Proxy.Windows.cs" Link="V8\V8Proxy.Windows.cs" />
<Compile Include="..\..\ClearScript\V8\V8ProxyHelpers.cs" Link="V8\V8ProxyHelpers.cs" />
<Compile Include="..\..\ClearScript\V8\V8Runtime.cs" Link="V8\V8Runtime.cs" />
<Compile Include="..\..\ClearScript\V8\V8RuntimeConstraints.cs" Link="V8\V8RuntimeConstraints.cs" />
<Compile Include="..\..\ClearScript\V8\V8RuntimeFlags.cs" Link="V8\V8RuntimeFlags.cs" />
<Compile Include="..\..\ClearScript\V8\V8RuntimeHeapInfo.cs" Link="V8\V8RuntimeHeapInfo.cs" />
<Compile Include="..\..\ClearScript\V8\V8Script.cs" Link="V8\V8Script.cs" />
<Compile Include="..\..\ClearScript\V8\V8ScriptEngine.cs" Link="V8\V8ScriptEngine.cs" />
<Compile Include="..\..\ClearScript\V8\V8ScriptEngineFlags.cs" Link="V8\V8ScriptEngineFlags.cs" />
<Compile Include="..\..\ClearScript\V8\V8ScriptItem.cs" Link="V8\V8ScriptItem.cs" />
<Compile Include="..\..\ClearScript\V8\V8TestProxy.cs" Link="V8\V8TestProxy.cs" />
<Compile Include="..\..\ClearScript\VoidResult.cs" Link="VoidResult.cs" />
<Compile Include="..\..\ClearScript\Windows\ActiveXDebugging.cs" Link="Windows\ActiveXDebugging.cs" />
<Compile Include="..\..\ClearScript\Windows\ActiveXScripting.cs" Link="Windows\ActiveXScripting.cs" />
<Compile Include="..\..\ClearScript\Windows\ActiveXWrappers.cs" Link="Windows\ActiveXWrappers.cs" />
<Compile Include="..\..\ClearScript\Windows\IHostWindow.cs" Link="Windows\IHostWindow.cs" />
<Compile Include="..\..\ClearScript\Windows\IWindowsScriptObject.cs" Link="Windows\IWindowsScriptObject.cs" />
<Compile Include="..\..\ClearScript\Windows\JScriptEngine.cs" Link="Windows\JScriptEngine.cs" />
<Compile Include="..\..\ClearScript\Windows\Nothing.cs" Link="Windows\Nothing.cs" />
<Compile Include="..\..\ClearScript\Windows\VBScriptEngine.cs" Link="Windows\VBScriptEngine.cs" />
<Compile Include="..\..\ClearScript\Windows\WindowsScriptEngine.cs" Link="Windows\WindowsScriptEngine.cs" />
<Compile Include="..\..\ClearScript\Windows\WindowsScriptEngine.Debug.cs" Link="Windows\WindowsScriptEngine.Debug.cs" />
<Compile Include="..\..\ClearScript\Windows\WindowsScriptEngine.Site.cs" Link="Windows\WindowsScriptEngine.Site.cs" />
<Compile Include="..\..\ClearScript\Windows\WindowsScriptEngineFlags.cs" Link="Windows\WindowsScriptEngineFlags.cs" />
<Compile Include="..\..\ClearScript\Windows\WindowsScriptItem.cs" Link="Windows\WindowsScriptItem.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="JavaScript\" />
<Folder Include="Properties\" />
<Folder Include="Util\COM\" />
<Folder Include="Util\Test\" />
<Folder Include="Util\Web\" />
<Folder Include="V8\SplitProxy\" />
<Folder Include="Windows\" />
</ItemGroup>
<ItemGroup>
<Content Include="..\..\bin\$(Configuration)\ClearScriptV8-32.dll" Link="ClearScriptV8-32.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="..\..\bin\$(Configuration)\ClearScriptV8-32.pdb" Link="ClearScriptV8-32.pdb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="..\..\bin\$(Configuration)\ClearScriptV8-64.dll" Link="ClearScriptV8-64.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="..\..\bin\$(Configuration)\ClearScriptV8-64.pdb" Link="ClearScriptV8-64.pdb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
@ -33,7 +33,9 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ClearScript\ClearScript.csproj" />
<ProjectReference Include="..\ClearScript\ClearScript.Core.csproj" />
<ProjectReference Include="..\ClearScript\ClearScript.V8.csproj" />
<ProjectReference Include="..\ClearScript\ClearScript.Windows.csproj" />
</ItemGroup>
</Project>

Просмотреть файл

@ -43,7 +43,9 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ClearScript\ClearScript.csproj" />
<ProjectReference Include="..\ClearScript\ClearScript.Core.csproj" />
<ProjectReference Include="..\ClearScript\ClearScript.V8.csproj" />
<ProjectReference Include="..\ClearScript\ClearScript.Windows.csproj" />
</ItemGroup>
</Project>

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше