зеркало из https://github.com/stride3d/nunitlite.git
Added monodroid build.
This commit is contained in:
Родитель
32f4e2aed7
Коммит
5c6824f4b7
103
NUnitLite.sln
103
NUnitLite.sln
|
@ -1,32 +1,12 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-2.0", "src\framework\nunitlite-2.0.csproj", "{C24A3FC4-2541-4E9C-BADD-564777610B75}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-2.0", "src\tests\nunitlite.tests-2.0.csproj", "{C8FA4073-B24E-4178-93A1-5E1256C8B528}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestResultConsole", "src\TestResultConsole\TestResultConsole.csproj", "{8CB31CE4-639A-4A34-B04D-A8CE3FEBECB3}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.testdata-2.0", "src\testdata\nunitlite.testdata-2.0.csproj", "{442DAB16-3063-4FE3-90B6-C29C3D85360D}"
|
||||
EndProject
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2012
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NET-2.0", "NET-2.0", "{A466054B-B601-46A2-8D7B-03DE10A94F09}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NET-3.5", "NET-3.5", "{08B11E56-AB8C-4374-8709-45631094B29B}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NET-4.0", "NET-4.0", "{D0ED3F4D-113E-4858-8042-C657CAC0CF46}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-3.5", "src\framework\nunitlite-3.5.csproj", "{43B24DC5-16D6-45EF-93F1-B021B785A892}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.testdata-3.5", "src\testdata\nunitlite.testdata-3.5.csproj", "{652AFEEB-B19C-4C67-A014-2248EA72F229}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-3.5", "src\tests\nunitlite.tests-3.5.csproj", "{94A4E298-F324-4531-856F-127505F766E5}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-4.0", "src\framework\nunitlite-4.0.csproj", "{1567BCCE-7BE9-4815-84D7-7F794DB39081}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.testdata-4.0", "src\testdata\nunitlite.testdata-4.0.csproj", "{5C77A144-3CD1-42FC-B622-410E1945CA1E}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-4.0", "src\tests\nunitlite.tests-4.0.csproj", "{497A578E-EF93-4190-96E0-B7F22E08027B}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{601BC853-DE7B-47EB-A92B-AEDE16A17FCF}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
CHANGES.txt = CHANGES.txt
|
||||
|
@ -39,14 +19,38 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
|
|||
README.txt = README.txt
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SL-4.0", "SL-4.0", "{B4F52628-112A-4C09-A597-2DC7B5AEE818}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SL-5.0", "SL-5.0", "{AEB97450-F9CF-4CF4-90D0-6CD5EDAB8588}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SL-3.0", "SL-3.0", "{035EFB6B-82E9-4510-AC99-B586E6381B25}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-2.0", "src\framework\nunitlite-2.0.csproj", "{C24A3FC4-2541-4E9C-BADD-564777610B75}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-2.0", "src\tests\nunitlite.tests-2.0.csproj", "{C8FA4073-B24E-4178-93A1-5E1256C8B528}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestResultConsole", "src\TestResultConsole\TestResultConsole.csproj", "{8CB31CE4-639A-4A34-B04D-A8CE3FEBECB3}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.testdata-2.0", "src\testdata\nunitlite.testdata-2.0.csproj", "{442DAB16-3063-4FE3-90B6-C29C3D85360D}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-3.5", "src\framework\nunitlite-3.5.csproj", "{43B24DC5-16D6-45EF-93F1-B021B785A892}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.testdata-3.5", "src\testdata\nunitlite.testdata-3.5.csproj", "{652AFEEB-B19C-4C67-A014-2248EA72F229}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-3.5", "src\tests\nunitlite.tests-3.5.csproj", "{94A4E298-F324-4531-856F-127505F766E5}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-4.0", "src\framework\nunitlite-4.0.csproj", "{1567BCCE-7BE9-4815-84D7-7F794DB39081}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.testdata-4.0", "src\testdata\nunitlite.testdata-4.0.csproj", "{5C77A144-3CD1-42FC-B622-410E1945CA1E}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-4.0", "src\tests\nunitlite.tests-4.0.csproj", "{497A578E-EF93-4190-96E0-B7F22E08027B}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mock-assembly-2.0", "src\mock-assembly\mock-assembly-2.0.csproj", "{1516338A-F26B-4BA7-AF6E-C3F6A39DC45B}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mock-assembly-3.5", "src\mock-assembly\mock-assembly-3.5.csproj", "{1798FBBC-4B6E-4ED8-90A8-7DD9C36194E7}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mock-assembly-4.0", "src\mock-assembly\mock-assembly-4.0.csproj", "{961F4A5A-CAC4-4A53-9EF0-C6EE26A6429A}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SL-4.0", "SL-4.0", "{B4F52628-112A-4C09-A597-2DC7B5AEE818}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-sl-4.0", "src\framework\nunitlite-sl-4.0.csproj", "{41326141-EB24-4984-9D9B-5CFAA55946BA}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mock-assembly-sl-4.0", "src\mock-assembly\mock-assembly-sl-4.0.csproj", "{3C1249FC-B5DF-4E3A-ADDD-817526254876}"
|
||||
|
@ -55,8 +59,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.testdata-sl-4.0",
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-sl-4.0", "src\tests\nunitlite.tests-sl-4.0.csproj", "{0B899C26-9114-440A-A8A1-615CDE7EE6BD}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SL-5.0", "SL-5.0", "{AEB97450-F9CF-4CF4-90D0-6CD5EDAB8588}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-sl-5.0", "src\framework\nunitlite-sl-5.0.csproj", "{5EFE54B3-2494-4DF4-A42A-8492A5EC4BA3}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mock-assembly-sl-5.0", "src\mock-assembly\mock-assembly-sl-5.0.csproj", "{3C19A734-11BB-48FD-81D0-042B6A8D4CFC}"
|
||||
|
@ -65,8 +67,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.testdata-sl-5.0",
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-sl-5.0", "src\tests\nunitlite.tests-sl-5.0.csproj", "{7107C352-7F42-497E-A26C-25E9AAE8E54C}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SL-3.0", "SL-3.0", "{035EFB6B-82E9-4510-AC99-B586E6381B25}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-sl-3.0", "src\framework\nunitlite-sl-3.0.csproj", "{02B02379-2596-4E45-8B10-835D62EA2D9E}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mock-assembly-sl-3.0", "src\mock-assembly\mock-assembly-sl-3.0.csproj", "{BB355D2C-FB4F-4526-9B40-7944C40FDFDA}"
|
||||
|
@ -81,6 +81,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ci-test-runner-sl-4.0", "sr
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ci-test-runner-sl-3.0", "src\runner\ci-test-runner-sl-3.0.csproj", "{AA4E9904-77D0-406B-A50C-A0508DDB56A7}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Android", "Android", "{99C5A0C1-B031-4E53-9848-45030FEC307C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-monodroid", "src\framework\nunitlite-monodroid.csproj", "{D12F0F7B-8DE3-43EC-BA49-41052D065A9B}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NUnitLite.MonoDroid.Runner", "src\NUnitLite.MonoDroid.Runner\NUnitLite.MonoDroid.Runner.csproj", "{7E10B3F0-F646-43E1-A301-04FB8FE7B81B}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NUnitLite.MonoDroid.Example", "src\NUnitLite.MonoDroid.Example\NUnitLite.MonoDroid.Example.csproj", "{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -371,14 +379,48 @@ Global
|
|||
{AA4E9904-77D0-406B-A50C-A0508DDB56A7}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{AA4E9904-77D0-406B-A50C-A0508DDB56A7}.Release|x86.ActiveCfg = Release|x86
|
||||
{AA4E9904-77D0-406B-A50C-A0508DDB56A7}.Release|x86.Build.0 = Release|x86
|
||||
{D12F0F7B-8DE3-43EC-BA49-41052D065A9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D12F0F7B-8DE3-43EC-BA49-41052D065A9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D12F0F7B-8DE3-43EC-BA49-41052D065A9B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{D12F0F7B-8DE3-43EC-BA49-41052D065A9B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{D12F0F7B-8DE3-43EC-BA49-41052D065A9B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D12F0F7B-8DE3-43EC-BA49-41052D065A9B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D12F0F7B-8DE3-43EC-BA49-41052D065A9B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D12F0F7B-8DE3-43EC-BA49-41052D065A9B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{D12F0F7B-8DE3-43EC-BA49-41052D065A9B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{D12F0F7B-8DE3-43EC-BA49-41052D065A9B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7E10B3F0-F646-43E1-A301-04FB8FE7B81B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7E10B3F0-F646-43E1-A301-04FB8FE7B81B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7E10B3F0-F646-43E1-A301-04FB8FE7B81B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{7E10B3F0-F646-43E1-A301-04FB8FE7B81B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{7E10B3F0-F646-43E1-A301-04FB8FE7B81B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7E10B3F0-F646-43E1-A301-04FB8FE7B81B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7E10B3F0-F646-43E1-A301-04FB8FE7B81B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7E10B3F0-F646-43E1-A301-04FB8FE7B81B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{7E10B3F0-F646-43E1-A301-04FB8FE7B81B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{7E10B3F0-F646-43E1-A301-04FB8FE7B81B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}.Debug|Mixed Platforms.Deploy.0 = Debug|Any CPU
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}.Release|Mixed Platforms.Deploy.0 = Release|Any CPU
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{C24A3FC4-2541-4E9C-BADD-564777610B75} = {A466054B-B601-46A2-8D7B-03DE10A94F09}
|
||||
{C8FA4073-B24E-4178-93A1-5E1256C8B528} = {A466054B-B601-46A2-8D7B-03DE10A94F09}
|
||||
{442DAB16-3063-4FE3-90B6-C29C3D85360D} = {A466054B-B601-46A2-8D7B-03DE10A94F09}
|
||||
{C24A3FC4-2541-4E9C-BADD-564777610B75} = {A466054B-B601-46A2-8D7B-03DE10A94F09}
|
||||
{1516338A-F26B-4BA7-AF6E-C3F6A39DC45B} = {A466054B-B601-46A2-8D7B-03DE10A94F09}
|
||||
{43B24DC5-16D6-45EF-93F1-B021B785A892} = {08B11E56-AB8C-4374-8709-45631094B29B}
|
||||
{652AFEEB-B19C-4C67-A014-2248EA72F229} = {08B11E56-AB8C-4374-8709-45631094B29B}
|
||||
|
@ -403,6 +445,9 @@ Global
|
|||
{6BB1FF9E-DF15-4999-8EEE-F4DA328FBCBB} = {035EFB6B-82E9-4510-AC99-B586E6381B25}
|
||||
{FFEA1F81-9631-43A8-8368-FBC14B1E7B02} = {035EFB6B-82E9-4510-AC99-B586E6381B25}
|
||||
{AA4E9904-77D0-406B-A50C-A0508DDB56A7} = {035EFB6B-82E9-4510-AC99-B586E6381B25}
|
||||
{D12F0F7B-8DE3-43EC-BA49-41052D065A9B} = {99C5A0C1-B031-4E53-9848-45030FEC307C}
|
||||
{7E10B3F0-F646-43E1-A301-04FB8FE7B81B} = {99C5A0C1-B031-4E53-9848-45030FEC307C}
|
||||
{42FEF2C3-62C7-432E-8240-18BF11AC2F1D} = {99C5A0C1-B031-4E53-9848-45030FEC307C}
|
||||
EndGlobalSection
|
||||
GlobalSection(MonoDevelopProperties) = preSolution
|
||||
StartupItem = NUnitLiteTests\NUnitLiteTests.csproj
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
Any raw assets you want to be deployed with your application can be placed in
|
||||
this directory (and child directories) and given a Build Action of "AndroidAsset".
|
||||
|
||||
These files will be deployed with you package and will be accessible using Android's
|
||||
AssetManager, like this:
|
||||
|
||||
public class ReadAsset : Activity
|
||||
{
|
||||
protected override void OnCreate (Bundle bundle)
|
||||
{
|
||||
base.OnCreate (bundle);
|
||||
|
||||
InputStream input = Assets.Open ("my_asset.txt");
|
||||
}
|
||||
}
|
||||
|
||||
Additionally, some Android functions will automatically load asset files:
|
||||
|
||||
Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
|
|
@ -0,0 +1,19 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
using Android.App;
|
||||
using Android.Content;
|
||||
using Android.OS;
|
||||
using Android.Runtime;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
|
||||
namespace NUnitLite.MonoDroid.Example
|
||||
{
|
||||
[Activity(Label = "Test Details")]
|
||||
public class DetailsActivity: TestRunDetailsActivity
|
||||
{
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using Android.App;
|
||||
using Android.Widget;
|
||||
using Android.OS;
|
||||
|
||||
namespace NUnitLite.MonoDroid.Example
|
||||
{
|
||||
[Activity(Label = "NUnitLite.MonoDroid.Example", MainLauncher = true, Icon = "@drawable/icon")]
|
||||
public class MainActivity : TestRunnerActivity
|
||||
{
|
||||
protected override IEnumerable<Assembly> GetAssembliesForTest()
|
||||
{
|
||||
yield return GetType().Assembly;
|
||||
}
|
||||
|
||||
protected override Type GetDetailsActivityType
|
||||
{
|
||||
get { return typeof(DetailsActivity); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{42FEF2C3-62C7-432E-8240-18BF11AC2F1D}</ProjectGuid>
|
||||
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>NUnitLite.MonoDroid.Example</RootNamespace>
|
||||
<AssemblyName>NUnitLite.MonoDroid.Example</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AndroidApplication>true</AndroidApplication>
|
||||
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
|
||||
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AndroidUseSharedRuntime>True</AndroidUseSharedRuntime>
|
||||
<AndroidLinkMode>None</AndroidLinkMode>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
|
||||
<AndroidLinkMode>SdkOnly</AndroidLinkMode>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Mono.Android" />
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DetailsActivity.cs" />
|
||||
<Compile Include="MainActivity.cs" />
|
||||
<Compile Include="Resources\Resource.Designer.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="TestFixture.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\AboutResources.txt" />
|
||||
<None Include="Assets\AboutAssets.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\Layout\MainActivity.axml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\Values\Strings.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\Drawable\Icon.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\framework\nunitlite-monodroid.csproj">
|
||||
<Project>{d12f0f7b-8de3-43ec-ba49-41052d065a9b}</Project>
|
||||
<Name>nunitlite-monodroid</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\NUnitLite.MonoDroid.Runner\NUnitLite.MonoDroid.Runner.csproj">
|
||||
<Project>{7E10B3F0-F646-43E1-A301-04FB8FE7B81B}</Project>
|
||||
<Name>NUnitLite.MonoDroid.Runner</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.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,36 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("NUnitLite.MonoDroid.Example")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Joseph Phillips")]
|
||||
[assembly: AssemblyProduct("NUnitLite.MonoDroid.Example")]
|
||||
[assembly: AssemblyCopyright("Copyright © Joseph Phillips 2011")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("a557ce8c-9dbe-4b93-8fc4-95ffc126cf14")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -0,0 +1,44 @@
|
|||
Images, layout descriptions, binary blobs and string dictionaries can be included
|
||||
in your application as resource files. Various Android APIs are designed to
|
||||
operate on the resource IDs instead of dealing with images, strings or binary blobs
|
||||
directly.
|
||||
|
||||
For example, a sample Android app that contains a user interface layout (Main.xml),
|
||||
an internationalization string table (Strings.xml) and some icons (drawable/Icon.png)
|
||||
would keep its resources in the "Resources" directory of the application:
|
||||
|
||||
Resources/
|
||||
Drawable/
|
||||
Icon.png
|
||||
|
||||
Layout/
|
||||
Main.axml
|
||||
|
||||
Values/
|
||||
Strings.xml
|
||||
|
||||
In order to get the build system to recognize Android resources, the build action should be set
|
||||
to "AndroidResource". The native Android APIs do not operate directly with filenames, but
|
||||
instead operate on resource IDs. When you compile an Android application that uses resources,
|
||||
the build system will package the resources for distribution and generate a class called
|
||||
"Resource" that contains the tokens for each one of the resources included. For example,
|
||||
for the above Resources layout, this is what the Resource class would expose:
|
||||
|
||||
public class Resource {
|
||||
public class Drawable {
|
||||
public const int Icon = 0x123;
|
||||
}
|
||||
|
||||
public class Layout {
|
||||
public const int Main = 0x456;
|
||||
}
|
||||
|
||||
public class String {
|
||||
public const int FirstString = 0xabc;
|
||||
public const int SecondString = 0xbcd;
|
||||
}
|
||||
}
|
||||
|
||||
You would then use Resource.Drawable.Icon to reference the Drawable/Icon.png file, or
|
||||
Resource.Layout.Main to reference the Layout/Main.axml file, or Resource.String.FirstString
|
||||
to reference the first string in the dictionary file Values/Strings.xml.
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 4.0 KiB |
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
>
|
||||
<ScrollView
|
||||
android:id="@+id/scrollMain"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent">
|
||||
<TextView
|
||||
android:id="@+id/lblTestProgress"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text=""
|
||||
/>
|
||||
</ScrollView>
|
||||
</LinearLayout>
|
|
@ -0,0 +1,115 @@
|
|||
#pragma warning disable 1591
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
[assembly: global::Android.Runtime.ResourceDesignerAttribute("NUnitLite.MonoDroid.Example.Resource", IsApplication=true)]
|
||||
|
||||
namespace NUnitLite.MonoDroid.Example
|
||||
{
|
||||
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")]
|
||||
public partial class Resource
|
||||
{
|
||||
|
||||
static Resource()
|
||||
{
|
||||
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
|
||||
}
|
||||
|
||||
public static void UpdateIdValues()
|
||||
{
|
||||
}
|
||||
|
||||
public partial class Attribute
|
||||
{
|
||||
|
||||
static Attribute()
|
||||
{
|
||||
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
|
||||
}
|
||||
|
||||
private Attribute()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public partial class Drawable
|
||||
{
|
||||
|
||||
// aapt resource value: 0x7f020000
|
||||
public const int Icon = 2130837504;
|
||||
|
||||
static Drawable()
|
||||
{
|
||||
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
|
||||
}
|
||||
|
||||
private Drawable()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public partial class Id
|
||||
{
|
||||
|
||||
// aapt resource value: 0x7f050001
|
||||
public const int lblTestProgress = 2131034113;
|
||||
|
||||
// aapt resource value: 0x7f050000
|
||||
public const int scrollMain = 2131034112;
|
||||
|
||||
static Id()
|
||||
{
|
||||
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
|
||||
}
|
||||
|
||||
private Id()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public partial class Layout
|
||||
{
|
||||
|
||||
// aapt resource value: 0x7f030000
|
||||
public const int MainActivity = 2130903040;
|
||||
|
||||
static Layout()
|
||||
{
|
||||
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
|
||||
}
|
||||
|
||||
private Layout()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public partial class String
|
||||
{
|
||||
|
||||
// aapt resource value: 0x7f040001
|
||||
public const int ApplicationName = 2130968577;
|
||||
|
||||
// aapt resource value: 0x7f040000
|
||||
public const int Hello = 2130968576;
|
||||
|
||||
static String()
|
||||
{
|
||||
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
|
||||
}
|
||||
|
||||
private String()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="Hello">Hello World, Click Me!</string>
|
||||
<string name="ApplicationName">NUnitLite.MonoDroid.Example</string>
|
||||
</resources>
|
|
@ -0,0 +1,34 @@
|
|||
using Java.Lang;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace NUnitLite.MonoDroid.Example
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestFixture
|
||||
{
|
||||
[Test]
|
||||
public void TestPass()
|
||||
{
|
||||
Assert.That(true);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestFail()
|
||||
{
|
||||
Assert.That(false, "This test failed.");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestException()
|
||||
{
|
||||
throw new Exception("Test exception");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void LongTest()
|
||||
{
|
||||
Thread.Sleep(10000);
|
||||
Assert.That(true);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,69 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{7E10B3F0-F646-43E1-A301-04FB8FE7B81B}</ProjectGuid>
|
||||
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>NUnitLite.MonoDroid</RootNamespace>
|
||||
<AssemblyName>NUnitLite.MonoDroid.Runner</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
|
||||
<AndroidSupportedAbis>armeabi</AndroidSupportedAbis>
|
||||
<AndroidStoreUncompressedFileExtensions />
|
||||
<MandroidI18n />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\bin\Debug\net-monodroid\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\bin\Release\net-monodroid\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Mono.Android" />
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="TestResultsListAdapter.cs" />
|
||||
<Compile Include="TestResultViewHolder.cs" />
|
||||
<Compile Include="TestRunDetailsActivity.cs" />
|
||||
<Compile Include="TestRunInfo.cs" />
|
||||
<Compile Include="TestRunContext.cs" />
|
||||
<Compile Include="TestRunnerActivity.cs" />
|
||||
<Compile Include="UITestListener.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\framework\nunitlite-monodroid.csproj">
|
||||
<Project>{d12f0f7b-8de3-43ec-ba49-41052d065a9b}</Project>
|
||||
<Name>nunitlite-monodroid</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.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,29 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("NUnitLite.MonoDroid.Runner")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Geomatic Technologies Pty Ltd")]
|
||||
[assembly: AssemblyProduct("NUnitLite.MonoDroid.Runner")]
|
||||
[assembly: AssemblyCopyright("Copyright © Geomatic Technologies Pty Ltd 2012")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -0,0 +1,51 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
using Android.App;
|
||||
using Android.Content;
|
||||
using Android.OS;
|
||||
using Android.Runtime;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
|
||||
namespace NUnitLite.MonoDroid
|
||||
{
|
||||
/// <summary>
|
||||
/// Keeps track of various elements of the item view
|
||||
/// that is used in the test results list adapter
|
||||
/// </summary>
|
||||
public class TestResultViewHolder: Java.Lang.Object
|
||||
{
|
||||
private TextView _descriptionTextView;
|
||||
private View _indicatorView;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of <see cref="TestResultViewHolder"/>
|
||||
/// </summary>
|
||||
/// <param name="indicatorView"></param>
|
||||
/// <param name="descriptionTextView"></param>
|
||||
public TestResultViewHolder(View indicatorView, TextView descriptionTextView)
|
||||
{
|
||||
_descriptionTextView = descriptionTextView;
|
||||
_indicatorView = indicatorView;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the indicator view
|
||||
/// </summary>
|
||||
public View IndicatorView
|
||||
{
|
||||
get { return _indicatorView; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the view for displaying the description
|
||||
/// </summary>
|
||||
public TextView DescriptionTextView
|
||||
{
|
||||
get { return _descriptionTextView; }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,189 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Android;
|
||||
using Android.App;
|
||||
using Android.Content;
|
||||
using Android.OS;
|
||||
using Android.Runtime;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
using Android.Graphics;
|
||||
|
||||
namespace NUnitLite.MonoDroid
|
||||
{
|
||||
/// <summary>
|
||||
/// List adapter used to display test results
|
||||
/// </summary>
|
||||
public class TestResultsListAdapter : BaseAdapter
|
||||
{
|
||||
private Context _context;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of <see cref="TestResultsListAdapter"/>
|
||||
/// </summary>
|
||||
/// <param name="context"></param>
|
||||
public TestResultsListAdapter(Context context)
|
||||
{
|
||||
_context = context;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the number of items in the list
|
||||
/// </summary>
|
||||
public override int Count
|
||||
{
|
||||
get { return TestRunContext.Current.TestResults.Count; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets an item from the list
|
||||
/// </summary>
|
||||
/// <param name="position"></param>
|
||||
/// <returns></returns>
|
||||
public override Java.Lang.Object GetItem(int position)
|
||||
{
|
||||
return TestRunContext.Current.TestResults.ElementAt(position);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the ID of an item in the list
|
||||
/// </summary>
|
||||
/// <param name="position"></param>
|
||||
/// <returns></returns>
|
||||
public override long GetItemId(int position)
|
||||
{
|
||||
return position;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the number of view types supported by this adapter
|
||||
/// </summary>
|
||||
public override int ViewTypeCount
|
||||
{
|
||||
get { return 2; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the view type for an item in the list
|
||||
/// </summary>
|
||||
/// <param name="position"></param>
|
||||
/// <returns></returns>
|
||||
public override int GetItemViewType(int position)
|
||||
{
|
||||
var result = TestRunContext.Current.TestResults[position];
|
||||
|
||||
if(result.IsTestSuite)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the view for an item
|
||||
/// </summary>
|
||||
/// <param name="position"></param>
|
||||
/// <param name="convertView"></param>
|
||||
/// <param name="parent"></param>
|
||||
/// <returns></returns>
|
||||
public override View GetView(int position, View convertView, ViewGroup parent)
|
||||
{
|
||||
View view = convertView;
|
||||
var itemContent = TestRunContext.Current.TestResults[position];
|
||||
|
||||
if (view == null)
|
||||
{
|
||||
view = InflateItemView(itemContent);
|
||||
}
|
||||
|
||||
var tag = (TestResultViewHolder) view.Tag;
|
||||
|
||||
// Fill the view with the correct settings
|
||||
tag.DescriptionTextView.Text = itemContent.Description;
|
||||
tag.IndicatorView.SetBackgroundColor(itemContent.Running ? Color.Gray : itemContent.Passed ? Color.Green : Color.Red);
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets whether all items are enabled
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public override bool AreAllItemsEnabled()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets whether a specific item is enabled
|
||||
/// </summary>
|
||||
/// <param name="position"></param>
|
||||
/// <returns></returns>
|
||||
public override bool IsEnabled(int position)
|
||||
{
|
||||
return !TestRunContext.Current.TestResults[position].IsTestSuite;
|
||||
}
|
||||
|
||||
private View InflateItemView(TestRunInfo itemContent)
|
||||
{
|
||||
LinearLayout layout = new LinearLayout(_context);
|
||||
layout.Orientation = Orientation.Horizontal;
|
||||
|
||||
View indicatorView = new View(_context);
|
||||
TextView descriptionView = new TextView(_context);
|
||||
|
||||
descriptionView.Ellipsize = Android.Text.TextUtils.TruncateAt.Start;
|
||||
descriptionView.Gravity = GravityFlags.CenterVertical;
|
||||
|
||||
if(itemContent.IsTestSuite)
|
||||
{
|
||||
layout.SetBackgroundColor(Color.Argb(255,50,50,50));
|
||||
|
||||
indicatorView.LayoutParameters = new LinearLayout.LayoutParams(18, 18)
|
||||
{
|
||||
LeftMargin = 14,
|
||||
RightMargin = 14,
|
||||
TopMargin = 14,
|
||||
BottomMargin = 14,
|
||||
Gravity = GravityFlags.CenterVertical
|
||||
};
|
||||
|
||||
descriptionView.LayoutParameters = new LinearLayout.LayoutParams(
|
||||
LinearLayout.LayoutParams.FillParent, LinearLayout.LayoutParams.FillParent)
|
||||
{
|
||||
BottomMargin = 14,
|
||||
TopMargin = 14,
|
||||
RightMargin = 14,
|
||||
Height = 48,
|
||||
Gravity = GravityFlags.CenterVertical
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
indicatorView.LayoutParameters = new LinearLayout.LayoutParams(18, LinearLayout.LayoutParams.FillParent)
|
||||
{
|
||||
RightMargin = 20
|
||||
};
|
||||
|
||||
descriptionView.LayoutParameters = new LinearLayout.LayoutParams(
|
||||
LinearLayout.LayoutParams.FillParent, LinearLayout.LayoutParams.FillParent)
|
||||
{
|
||||
BottomMargin = 20,
|
||||
TopMargin = 20,
|
||||
RightMargin = 20,
|
||||
Gravity = GravityFlags.CenterVertical
|
||||
};
|
||||
}
|
||||
|
||||
layout.AddView(indicatorView);
|
||||
layout.AddView(descriptionView);
|
||||
|
||||
layout.Tag = new TestResultViewHolder(indicatorView,descriptionView);
|
||||
|
||||
return layout;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
using Android.App;
|
||||
using Android.Content;
|
||||
using Android.OS;
|
||||
using Android.Runtime;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
|
||||
namespace NUnitLite.MonoDroid
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains context based information about the current test run.
|
||||
/// This context is used by the runner to have a central place where to find
|
||||
/// (non-serializable) test information for the various activities that make up the
|
||||
/// test runner.
|
||||
/// </summary>
|
||||
public class TestRunContext
|
||||
{
|
||||
private static TestRunContext _current;
|
||||
private static object _lockHandle = new object();
|
||||
|
||||
private List<TestRunInfo> _testResults;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of <see cref="TestRunContext"/>
|
||||
/// </summary>
|
||||
private TestRunContext()
|
||||
{
|
||||
_testResults = new List<TestRunInfo>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the current test run context
|
||||
/// </summary>
|
||||
public static TestRunContext Current
|
||||
{
|
||||
get
|
||||
{
|
||||
if(_current == null)
|
||||
{
|
||||
lock(_lockHandle)
|
||||
{
|
||||
if(_current == null)
|
||||
{
|
||||
_current = new TestRunContext();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return _current;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the test results for the current test run
|
||||
/// </summary>
|
||||
public List<TestRunInfo> TestResults
|
||||
{
|
||||
get { return _testResults; }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,75 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
using Android.App;
|
||||
using Android.Content;
|
||||
using Android.Graphics;
|
||||
using Android.OS;
|
||||
using Android.Runtime;
|
||||
using Android.Text;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
|
||||
namespace NUnitLite.MonoDroid
|
||||
{
|
||||
/// <summary>
|
||||
/// Displays the details of a run
|
||||
/// </summary>
|
||||
public abstract class TestRunDetailsActivity: Activity
|
||||
{
|
||||
/// <summary>
|
||||
/// Handles the creation of the activity
|
||||
/// </summary>
|
||||
/// <param name="savedInstanceState"></param>
|
||||
protected override void OnCreate(Bundle savedInstanceState)
|
||||
{
|
||||
base.OnCreate(savedInstanceState);
|
||||
|
||||
string testCaseName = Intent.GetStringExtra("TestCaseName");
|
||||
var testRunInfo = TestRunContext.Current.TestResults.First(item => item.TestCaseName == testCaseName);
|
||||
|
||||
SetContentView(CreateView(testRunInfo));
|
||||
}
|
||||
|
||||
private View CreateView(TestRunInfo testRunDetails)
|
||||
{
|
||||
LinearLayout layout = new LinearLayout(this);
|
||||
layout.Orientation = Orientation.Vertical;
|
||||
|
||||
TextView titleTextView = new TextView(this);
|
||||
titleTextView.LayoutParameters = new LinearLayout.LayoutParams(
|
||||
LinearLayout.LayoutParams.FillParent, 48);
|
||||
|
||||
titleTextView.SetBackgroundColor(Color.Argb(255,50,50,50));
|
||||
titleTextView.SetPadding(20,0,20,0);
|
||||
|
||||
titleTextView.Gravity = GravityFlags.CenterVertical;
|
||||
titleTextView.Text = testRunDetails.Description;
|
||||
titleTextView.Ellipsize = TextUtils.TruncateAt.Start;
|
||||
|
||||
TextView descriptionTextView = new TextView(this);
|
||||
descriptionTextView.LayoutParameters = new LinearLayout.LayoutParams(
|
||||
LinearLayout.LayoutParams.FillParent, LinearLayout.LayoutParams.WrapContent)
|
||||
{
|
||||
LeftMargin = 40,
|
||||
RightMargin = 40
|
||||
};
|
||||
|
||||
descriptionTextView.Text = testRunDetails.TestResult.Message +
|
||||
"\r\n\r\n" + testRunDetails.TestResult.StackTrace;
|
||||
|
||||
ScrollView scrollView = new ScrollView(this);
|
||||
scrollView.LayoutParameters = new LinearLayout.LayoutParams(
|
||||
LinearLayout.LayoutParams.FillParent, LinearLayout.LayoutParams.FillParent);
|
||||
|
||||
scrollView.AddView(descriptionTextView);
|
||||
|
||||
layout.AddView(titleTextView);
|
||||
layout.AddView(scrollView);
|
||||
|
||||
return layout;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
using Android.App;
|
||||
using Android.Content;
|
||||
using Android.OS;
|
||||
using Android.Runtime;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
|
||||
namespace NUnitLite.MonoDroid
|
||||
{
|
||||
/// <summary>
|
||||
/// Container to keep track of test runs
|
||||
/// </summary>
|
||||
public class TestRunInfo: Java.Lang.Object
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets whether the test run is passed
|
||||
/// </summary>
|
||||
public bool Passed { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets whether the test case is running
|
||||
/// </summary>
|
||||
public bool Running { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets whether this is a suite of tests
|
||||
/// </summary>
|
||||
public bool IsTestSuite { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description for the test run
|
||||
/// </summary>
|
||||
public string Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the full name for the test case
|
||||
/// </summary>
|
||||
public string TestCaseName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the test result for this test run
|
||||
/// </summary>
|
||||
public NUnit.Framework.Api.ITestResult TestResult { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,151 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using Android.App;
|
||||
using Android.Content;
|
||||
using Android.OS;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
using NUnit.Framework.Api;
|
||||
using NUnit.Framework.Internal;
|
||||
using NUnitLite.Runner;
|
||||
|
||||
namespace NUnitLite.MonoDroid
|
||||
{
|
||||
/// <summary>
|
||||
/// Derive from this activity to create a standard test runner activity in your app.
|
||||
/// </summary>
|
||||
public abstract class TestRunnerActivity : ListActivity
|
||||
{
|
||||
private TestResultsListAdapter _testResultsAdapter;
|
||||
|
||||
/// <summary>
|
||||
/// Handles the creation of the activity
|
||||
/// </summary>
|
||||
/// <param name="savedInstanceState"></param>
|
||||
protected override void OnCreate(Bundle savedInstanceState)
|
||||
{
|
||||
base.OnCreate(savedInstanceState);
|
||||
|
||||
_testResultsAdapter = new TestResultsListAdapter(this);
|
||||
ListAdapter = _testResultsAdapter;
|
||||
}
|
||||
|
||||
protected override void OnResume()
|
||||
{
|
||||
base.OnResume();
|
||||
|
||||
var testAssemblies = GetAssembliesForTest();
|
||||
var testAssemblyEnumerator = testAssemblies.GetEnumerator();
|
||||
var testRunner = new NUnit.Framework.Internal.NUnitLiteTestAssemblyRunner(new NUnitLiteTestAssemblyBuilder());
|
||||
|
||||
// Clear the test result list
|
||||
TestRunContext.Current.TestResults.Clear();
|
||||
|
||||
_testResultsAdapter.NotifyDataSetInvalidated();
|
||||
_testResultsAdapter.NotifyDataSetChanged();
|
||||
|
||||
// Add a test listener for the test runner
|
||||
var listener = new UITestListener((TestResultsListAdapter)ListAdapter);
|
||||
|
||||
// Start the test process in a background task
|
||||
Task.Factory.StartNew(() =>
|
||||
{
|
||||
var emptyFilter = new EmptyFilter();
|
||||
while (testAssemblyEnumerator.MoveNext())
|
||||
{
|
||||
try
|
||||
{
|
||||
var assembly = testAssemblyEnumerator.Current;
|
||||
if (!testRunner.Load(assembly, new Hashtable()))
|
||||
{
|
||||
AssemblyName assemblyName = AssemblyHelper.GetAssemblyName(assembly);
|
||||
Console.WriteLine("No tests found in assembly {0}", assemblyName.Name);
|
||||
return;
|
||||
}
|
||||
|
||||
testRunner.Run(
|
||||
listener,
|
||||
emptyFilter);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowErrorDialog(ex);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handles list item click
|
||||
/// </summary>
|
||||
/// <param name="l"></param>
|
||||
/// <param name="v"></param>
|
||||
/// <param name="position"></param>
|
||||
/// <param name="id"></param>
|
||||
protected override void OnListItemClick(ListView l, View v, int position, long id)
|
||||
{
|
||||
var testRunItem = TestRunContext.Current.TestResults[position];
|
||||
|
||||
if (testRunItem.Running)
|
||||
{
|
||||
Toast.MakeText(this, "This test is still running.", ToastLength.Short).Show();
|
||||
return;
|
||||
}
|
||||
|
||||
var intent = new Intent(this, GetDetailsActivityType);
|
||||
intent.PutExtra("TestCaseName", testRunItem.TestCaseName);
|
||||
|
||||
StartActivity(intent);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Retrieves a list of assemblies that contain test cases to execute using the test runner activity.
|
||||
/// </summary>
|
||||
/// <returns>Returns the list of assemblies to test</returns>
|
||||
protected abstract IEnumerable<Assembly> GetAssembliesForTest();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the type of activity to use for displaying test details
|
||||
/// </summary>
|
||||
protected abstract Type GetDetailsActivityType { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Displays an error dialog in case a test run fails
|
||||
/// </summary>
|
||||
/// <param name="exception"></param>
|
||||
private void ShowErrorDialog(Exception exception)
|
||||
{
|
||||
RunOnUiThread(() =>
|
||||
{
|
||||
var builder = new AlertDialog.Builder(this);
|
||||
builder.SetTitle("Failed to execute unit-test suite");
|
||||
builder.SetMessage(exception.ToString());
|
||||
|
||||
var dialog = builder.Create();
|
||||
|
||||
dialog.Show();
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Nested class provides an empty filter - one that always
|
||||
/// returns true when called, unless the test is marked explicit.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
private class EmptyFilter : TestFilter
|
||||
{
|
||||
public override bool Match(ITest test)
|
||||
{
|
||||
return test.RunState != RunState.Explicit;
|
||||
}
|
||||
|
||||
public override bool Pass(ITest test)
|
||||
{
|
||||
return test.RunState != RunState.Explicit;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,87 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
using Android.App;
|
||||
using Android.Content;
|
||||
using Android.OS;
|
||||
using Android.Runtime;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
using NUnit.Framework.Api;
|
||||
|
||||
namespace NUnitLite.MonoDroid
|
||||
{
|
||||
/// <summary>
|
||||
/// Test listener that handles tests results on the user interface.
|
||||
/// </summary>
|
||||
public class UITestListener : ITestListener
|
||||
{
|
||||
private Handler _threadHandler;
|
||||
private TestResultsListAdapter _listAdapter;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance <see cref="UITestListener"/>
|
||||
/// </summary>
|
||||
/// <param name="listAdapter"></param>
|
||||
public UITestListener(TestResultsListAdapter listAdapter)
|
||||
{
|
||||
// Create a new thread handler for the main looper.
|
||||
// This handler is used to post code from the background thread
|
||||
// back to the UI thread.
|
||||
_threadHandler = new Handler(Application.Context.MainLooper);
|
||||
|
||||
_listAdapter = listAdapter;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handles when a test is started
|
||||
/// </summary>
|
||||
/// <param name="test"></param>
|
||||
public void TestStarted(ITest test)
|
||||
{
|
||||
_threadHandler.Post(() =>
|
||||
{
|
||||
TestRunContext.Current.TestResults.Add(new TestRunInfo()
|
||||
{
|
||||
Description = test.Name,
|
||||
TestCaseName = test.FullName,
|
||||
Running = true,
|
||||
Passed = false,
|
||||
IsTestSuite = test is NUnit.Framework.Internal.TestSuite
|
||||
});
|
||||
|
||||
_listAdapter.NotifyDataSetInvalidated();
|
||||
_listAdapter.NotifyDataSetChanged();
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handles the outcome of a test case
|
||||
/// </summary>
|
||||
/// <param name="result">The result.</param>
|
||||
public void TestFinished(ITestResult result)
|
||||
{
|
||||
_threadHandler.Post(() =>
|
||||
{
|
||||
var testRunItem = TestRunContext.Current.TestResults
|
||||
.FirstOrDefault(item => item.TestCaseName == result.Test.FullName);
|
||||
|
||||
if (testRunItem != null)
|
||||
{
|
||||
testRunItem.Passed = result.ResultState.Status == TestStatus.Passed;
|
||||
testRunItem.Running = false;
|
||||
testRunItem.TestResult = result;
|
||||
}
|
||||
|
||||
_listAdapter.NotifyDataSetInvalidated();
|
||||
_listAdapter.NotifyDataSetChanged();
|
||||
});
|
||||
}
|
||||
|
||||
public void TestOutput(TestOutput testOutput)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
|
@ -50,7 +50,9 @@ namespace NUnit.Framework.Internal
|
|||
/// <summary>Silverlight</summary>
|
||||
Silverlight,
|
||||
/// <summary>MonoTouch</summary>
|
||||
MonoTouch
|
||||
MonoTouch,
|
||||
/// <summary>MonoDroid</summary>
|
||||
MonoDroid,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -148,6 +150,10 @@ namespace NUnit.Framework.Internal
|
|||
currentFramework = new RuntimeFramework(
|
||||
RuntimeType.Silverlight,
|
||||
new Version(Environment.Version.Major, Environment.Version.Minor));
|
||||
#elif MONODROID
|
||||
currentFramework = new RuntimeFramework(
|
||||
RuntimeType.MonoDroid,
|
||||
new Version(Environment.Version.Major, Environment.Version.Minor));
|
||||
#else
|
||||
Type monoRuntimeType = Type.GetType("Mono.Runtime", false);
|
||||
Type monoTouchType = Type.GetType("MonoTouch.UIKit.UIApplicationDelegate, monotouch");
|
||||
|
|
|
@ -408,7 +408,7 @@ namespace NUnit.Framework.Internal
|
|||
}
|
||||
#endif
|
||||
|
||||
#if !NETCF && !SILVERLIGHT
|
||||
#if !NETCF && !SILVERLIGHT && !MONODROID
|
||||
/// <summary>
|
||||
/// Controls where Console.Out is directed
|
||||
/// </summary>
|
||||
|
@ -581,7 +581,7 @@ namespace NUnit.Framework.Internal
|
|||
this.CurrentUICulture = prior.CurrentUICulture;
|
||||
#endif
|
||||
|
||||
#if !NETCF && !SILVERLIGHT
|
||||
#if !NETCF && !SILVERLIGHT && !MONODROID
|
||||
this.Out = prior.Out;
|
||||
this.Error = prior.Error;
|
||||
this.Tracing = prior.Tracing;
|
||||
|
|
|
@ -0,0 +1,381 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{D12F0F7B-8DE3-43EC-BA49-41052D065A9B}</ProjectGuid>
|
||||
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>NUnitLite</RootNamespace>
|
||||
<AssemblyName>nunitlite</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<TargetFrameworkVersion>v2.2</TargetFrameworkVersion>
|
||||
<AndroidSupportedAbis>armeabi-v7a%3barmeabi%3bx86</AndroidSupportedAbis>
|
||||
<AndroidStoreUncompressedFileExtensions />
|
||||
<MandroidI18n />
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<TargetFrameworkProfile />
|
||||
<IntermediateOutputPath>obj\$(Configuration)\net-monodroid\</IntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\bin\Debug\net-monodroid\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;NET_4_5, CLR_4_0,NUNITLITE;MONODROID</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<DocumentationFile>..\..\bin\Debug\net-monodroid\nunitlite.xml</DocumentationFile>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<AndroidUseSharedRuntime>True</AndroidUseSharedRuntime>
|
||||
<AndroidLinkMode>None</AndroidLinkMode>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\bin\Release\net-monodroid\</OutputPath>
|
||||
<DefineConstants>TRACE;NET_4_5, CLR_4_0,NUNITLITE;MONODROID</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<DocumentationFile>..\..\bin\Release\net-monodroid\nunitlite.xml</DocumentationFile>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
|
||||
<AndroidLinkMode>SdkOnly</AndroidLinkMode>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<AssemblyOriginatorKeyFile>nunit.snk</AssemblyOriginatorKeyFile>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Api\ExpectedExceptionData.cs" />
|
||||
<Compile Include="Api\FailureSite.cs" />
|
||||
<Compile Include="Api\IParameterDataSource.cs" />
|
||||
<Compile Include="Api\IPropertyBag.cs" />
|
||||
<Compile Include="Api\ITest.cs" />
|
||||
<Compile Include="Api\ITestAssemblyBuilder.cs" />
|
||||
<Compile Include="Api\ITestAssemblyRunner.cs" />
|
||||
<Compile Include="Api\ITestCaseData.cs" />
|
||||
<Compile Include="Api\ITestCaseSource.cs" />
|
||||
<Compile Include="Api\ITestFilter.cs" />
|
||||
<Compile Include="Api\ITestListener.cs" />
|
||||
<Compile Include="Api\ITestResult.cs" />
|
||||
<Compile Include="Api\IXmlNodeBuilder.cs" />
|
||||
<Compile Include="Api\PropertyEntry.cs" />
|
||||
<Compile Include="Api\ResultState.cs" />
|
||||
<Compile Include="Api\RunState.cs" />
|
||||
<Compile Include="Api\TestOutput.cs" />
|
||||
<Compile Include="Api\TestStatus.cs" />
|
||||
<Compile Include="Api\XmlNode.cs" />
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
<Compile Include="Assert.cs" />
|
||||
<Compile Include="AssertionHelper.cs" />
|
||||
<Compile Include="Assume.cs" />
|
||||
<Compile Include="Attributes\CategoryAttribute.cs" />
|
||||
<Compile Include="Attributes\CombinatorialAttribute.cs" />
|
||||
<Compile Include="Attributes\CultureAttribute.cs" />
|
||||
<Compile Include="Attributes\DataAttribute.cs" />
|
||||
<Compile Include="Attributes\DatapointAttribute.cs" />
|
||||
<Compile Include="Attributes\DatapointsAttribute.cs" />
|
||||
<Compile Include="Attributes\DatapointSourceAttribute.cs" />
|
||||
<Compile Include="Attributes\DescriptionAttribute.cs" />
|
||||
<Compile Include="Attributes\ExpectedExceptionAttribute.cs" />
|
||||
<Compile Include="Attributes\ExplicitAttribute.cs" />
|
||||
<Compile Include="Attributes\IgnoreAttribute.cs" />
|
||||
<Compile Include="Attributes\IncludeExcludeAttribute.cs" />
|
||||
<Compile Include="Attributes\MaxTimeAttribute.cs" />
|
||||
<Compile Include="Attributes\NUnitAttribute.cs" />
|
||||
<Compile Include="Attributes\PairwiseAttribute.cs" />
|
||||
<Compile Include="Attributes\PlatformAttribute.cs" />
|
||||
<Compile Include="Attributes\PropertyAttribute.cs" />
|
||||
<Compile Include="Attributes\RandomAttribute.cs" />
|
||||
<Compile Include="Attributes\RangeAttribute.cs" />
|
||||
<Compile Include="Attributes\RepeatAttribute.cs" />
|
||||
<Compile Include="Attributes\SequentialAttribute.cs" />
|
||||
<Compile Include="Attributes\SetCultureAttribute.cs" />
|
||||
<Compile Include="Attributes\SetUICultureAttribute.cs" />
|
||||
<Compile Include="Attributes\SetUpAttribute.cs" />
|
||||
<Compile Include="Attributes\TearDownAttribute.cs" />
|
||||
<Compile Include="Attributes\TestAttribute.cs" />
|
||||
<Compile Include="Attributes\TestCaseAttribute.cs" />
|
||||
<Compile Include="Attributes\TestCaseSourceAttribute.cs" />
|
||||
<Compile Include="Attributes\TestFixtureAttribute.cs" />
|
||||
<Compile Include="Attributes\TestFixtureSetUpAttribute.cs" />
|
||||
<Compile Include="Attributes\TestFixtureTearDownAttribute.cs" />
|
||||
<Compile Include="Attributes\TheoryAttribute.cs" />
|
||||
<Compile Include="Attributes\TimeoutAttribute.cs" />
|
||||
<Compile Include="Attributes\ValuesAttribute.cs" />
|
||||
<Compile Include="Attributes\ValueSourceAttribute.cs" />
|
||||
<Compile Include="Constraints\AllItemsConstraint.cs" />
|
||||
<Compile Include="Constraints\AndConstraint.cs" />
|
||||
<Compile Include="Constraints\AssignableFromConstraint.cs" />
|
||||
<Compile Include="Constraints\AssignableToConstraint.cs" />
|
||||
<Compile Include="Constraints\AttributeConstraint.cs" />
|
||||
<Compile Include="Constraints\AttributeExistsConstraint.cs" />
|
||||
<Compile Include="Constraints\BasicConstraint.cs" />
|
||||
<Compile Include="Constraints\BinaryConstraint.cs" />
|
||||
<Compile Include="Constraints\BinarySerializableConstraint.cs" />
|
||||
<Compile Include="Constraints\CollectionConstraint.cs" />
|
||||
<Compile Include="Constraints\CollectionContainsConstraint.cs" />
|
||||
<Compile Include="Constraints\CollectionEquivalentConstraint.cs" />
|
||||
<Compile Include="Constraints\CollectionItemsEqualConstraint.cs" />
|
||||
<Compile Include="Constraints\CollectionOrderedConstraint.cs" />
|
||||
<Compile Include="Constraints\CollectionSubsetConstraint.cs" />
|
||||
<Compile Include="Constraints\CollectionTally.cs" />
|
||||
<Compile Include="Constraints\ComparisonAdapter.cs" />
|
||||
<Compile Include="Constraints\ComparisonConstraint.cs" />
|
||||
<Compile Include="Constraints\Constraint.cs" />
|
||||
<Compile Include="Constraints\ConstraintBuilder.cs" />
|
||||
<Compile Include="Constraints\ConstraintExpression.cs" />
|
||||
<Compile Include="Constraints\ConstraintExpressionBase.cs" />
|
||||
<Compile Include="Constraints\ConstraintFactory.cs" />
|
||||
<Compile Include="Constraints\ContainsConstraint.cs" />
|
||||
<Compile Include="Constraints\DelayedConstraint.cs" />
|
||||
<Compile Include="Constraints\EmptyCollectionConstraint.cs" />
|
||||
<Compile Include="Constraints\EmptyConstraint.cs" />
|
||||
<Compile Include="Constraints\EmptyDirectoryConstraint.cs" />
|
||||
<Compile Include="Constraints\EmptyStringConstraint.cs" />
|
||||
<Compile Include="Constraints\EndsWithConstraint.cs" />
|
||||
<Compile Include="Constraints\EqualConstraint.cs" />
|
||||
<Compile Include="Constraints\EqualityAdapter.cs" />
|
||||
<Compile Include="Constraints\ExactCountConstraint.cs" />
|
||||
<Compile Include="Constraints\ExactTypeConstraint.cs" />
|
||||
<Compile Include="Constraints\ExceptionTypeConstraint.cs" />
|
||||
<Compile Include="Constraints\FailurePoint.cs" />
|
||||
<Compile Include="Constraints\FalseConstraint.cs" />
|
||||
<Compile Include="Constraints\FloatingPointNumerics.cs" />
|
||||
<Compile Include="Constraints\GreaterThanConstraint.cs" />
|
||||
<Compile Include="Constraints\GreaterThanOrEqualConstraint.cs" />
|
||||
<Compile Include="Constraints\InstanceOfTypeConstraint.cs" />
|
||||
<Compile Include="Constraints\IResolveConstraint.cs" />
|
||||
<Compile Include="Constraints\LessThanConstraint.cs" />
|
||||
<Compile Include="Constraints\LessThanOrEqualConstraint.cs" />
|
||||
<Compile Include="Constraints\MessageWriter.cs" />
|
||||
<Compile Include="Constraints\MsgUtils.cs" />
|
||||
<Compile Include="Constraints\NaNConstraint.cs" />
|
||||
<Compile Include="Constraints\NoItemConstraint.cs" />
|
||||
<Compile Include="Constraints\NotConstraint.cs" />
|
||||
<Compile Include="Constraints\NullConstraint.cs" />
|
||||
<Compile Include="Constraints\NullOrEmptyStringConstraint.cs" />
|
||||
<Compile Include="Constraints\Numerics.cs" />
|
||||
<Compile Include="Constraints\NUnitComparer.cs" />
|
||||
<Compile Include="Constraints\NUnitEqualityComparer.cs" />
|
||||
<Compile Include="Constraints\Operators\AllOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\AndOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\AttributeOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\BinaryOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\CollectionOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\ConstraintOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\ExactCountOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\NoneOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\NotOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\OrOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\PrefixOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\PropOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\SelfResolvingOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\SomeOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\ThrowsOperator.cs" />
|
||||
<Compile Include="Constraints\Operators\WithOperator.cs" />
|
||||
<Compile Include="Constraints\OrConstraint.cs" />
|
||||
<Compile Include="Constraints\PathConstraint.cs" />
|
||||
<Compile Include="Constraints\PredicateConstraint.cs" />
|
||||
<Compile Include="Constraints\PrefixConstraint.cs" />
|
||||
<Compile Include="Constraints\PropertyConstraint.cs" />
|
||||
<Compile Include="Constraints\PropertyExistsConstraint.cs" />
|
||||
<Compile Include="Constraints\RangeConstraint.cs" />
|
||||
<Compile Include="Constraints\RegexConstraint.cs" />
|
||||
<Compile Include="Constraints\ResolvableConstraintExpression.cs" />
|
||||
<Compile Include="Constraints\ReusableConstraint.cs" />
|
||||
<Compile Include="Constraints\SameAsConstraint.cs" />
|
||||
<Compile Include="Constraints\SamePathConstraint.cs" />
|
||||
<Compile Include="Constraints\SamePathOrUnderConstraint.cs" />
|
||||
<Compile Include="Constraints\SomeItemsConstraint.cs" />
|
||||
<Compile Include="Constraints\StartsWithConstraint.cs" />
|
||||
<Compile Include="Constraints\StringConstraint.cs" />
|
||||
<Compile Include="Constraints\SubPathConstraint.cs" />
|
||||
<Compile Include="Constraints\SubstringConstraint.cs" />
|
||||
<Compile Include="Constraints\ThrowsConstraint.cs" />
|
||||
<Compile Include="Constraints\ThrowsNothingConstraint.cs" />
|
||||
<Compile Include="Constraints\Tolerance.cs" />
|
||||
<Compile Include="Constraints\ToleranceMode.cs" />
|
||||
<Compile Include="Constraints\TrueConstraint.cs" />
|
||||
<Compile Include="Constraints\TypeConstraint.cs" />
|
||||
<Compile Include="Constraints\UniqueItemsConstraint.cs" />
|
||||
<Compile Include="Constraints\XmlSerializableConstraint.cs" />
|
||||
<Compile Include="Contains.cs" />
|
||||
<Compile Include="Env.cs" />
|
||||
<Compile Include="Exceptions\AssertionException.cs" />
|
||||
<Compile Include="Exceptions\IgnoreException.cs" />
|
||||
<Compile Include="Exceptions\InconclusiveException.cs" />
|
||||
<Compile Include="Exceptions\SuccessException.cs" />
|
||||
<Compile Include="Extensibility\IParameterDataProvider.cs" />
|
||||
<Compile Include="Extensibility\ISuiteBuilder.cs" />
|
||||
<Compile Include="Extensibility\ITestCaseBuilder.cs" />
|
||||
<Compile Include="Extensibility\ITestCaseProvider.cs" />
|
||||
<Compile Include="GlobalSettings.cs" />
|
||||
<Compile Include="Guard.cs" />
|
||||
<Compile Include="Has.cs" />
|
||||
<Compile Include="IExpectException.cs" />
|
||||
<Compile Include="Internal\AssemblyHelper.cs" />
|
||||
<Compile Include="Internal\Builders\CombinatorialStrategy.cs" />
|
||||
<Compile Include="Internal\Builders\CombinatorialTestCaseProvider.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Internal\Builders\CombiningStrategy.cs" />
|
||||
<Compile Include="Internal\Builders\DataAttributeTestCaseProvider.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Internal\Builders\DatapointProvider.cs" />
|
||||
<Compile Include="Internal\Builders\NUnitTestCaseBuilder.cs" />
|
||||
<Compile Include="Internal\Builders\NUnitTestFixtureBuilder.cs" />
|
||||
<Compile Include="Internal\Builders\PairwiseStrategy.cs" />
|
||||
<Compile Include="Internal\Builders\ParameterDataProvider.cs" />
|
||||
<Compile Include="Internal\Builders\ProviderCache.cs" />
|
||||
<Compile Include="Internal\Builders\SequentialStrategy.cs" />
|
||||
<Compile Include="Internal\Commands\ApplyChangesToContextCommand.cs" />
|
||||
<Compile Include="Internal\AsyncInvocationRegion.cs" />
|
||||
<Compile Include="Internal\AsyncSynchronizationContext.cs" />
|
||||
<Compile Include="Internal\Commands\CommandDecoratorList.cs" />
|
||||
<Compile Include="Internal\Commands\CommandStage.cs" />
|
||||
<Compile Include="Internal\Commands\DelegatingTestCommand.cs" />
|
||||
<Compile Include="Internal\Commands\ExpectedExceptionCommand.cs" />
|
||||
<Compile Include="Internal\Commands\ICommandDecorator.cs" />
|
||||
<Compile Include="Internal\Commands\MaxTimeCommand.cs" />
|
||||
<Compile Include="Internal\Commands\OneTimeSetUpCommand.cs" />
|
||||
<Compile Include="Internal\Commands\OneTimeTearDownCommand.cs" />
|
||||
<Compile Include="Internal\Commands\RepeatedTestCommand.cs" />
|
||||
<Compile Include="Internal\Commands\SetUpTearDownCommand.cs" />
|
||||
<Compile Include="Internal\Commands\SkipCommand.cs" />
|
||||
<Compile Include="Internal\Commands\TestCommand.cs" />
|
||||
<Compile Include="Internal\Commands\TestMethodCommand.cs" />
|
||||
<Compile Include="Internal\Commands\TheoryResultCommand.cs" />
|
||||
<Compile Include="Internal\CultureDetector.cs" />
|
||||
<Compile Include="Internal\ExceptionHelper.cs" />
|
||||
<Compile Include="Internal\Extensibility\ParameterDataProviders.cs" />
|
||||
<Compile Include="Internal\Extensibility\TestCaseProviders.cs" />
|
||||
<Compile Include="Internal\Filters\AndFilter.cs" />
|
||||
<Compile Include="Internal\Filters\CategoryExpression.cs" />
|
||||
<Compile Include="Internal\Filters\CategoryFilter.cs" />
|
||||
<Compile Include="Internal\Filters\NotFilter.cs" />
|
||||
<Compile Include="Internal\Filters\OrFilter.cs" />
|
||||
<Compile Include="Internal\Filters\SimpleCategoryExpression.cs" />
|
||||
<Compile Include="Internal\Filters\SimpleNameFilter.cs" />
|
||||
<Compile Include="Internal\IApplyToContext.cs" />
|
||||
<Compile Include="Internal\IApplyToTest.cs" />
|
||||
<Compile Include="Internal\InvalidTestFixtureException.cs" />
|
||||
<Compile Include="Internal\MethodHelper.cs" />
|
||||
<Compile Include="Internal\NUnitException.cs" />
|
||||
<Compile Include="Internal\NUnitLiteTestAssemblyBuilder.cs" />
|
||||
<Compile Include="Internal\NUnitLiteTestAssemblyRunner.cs" />
|
||||
<Compile Include="Internal\OSPlatform.cs" />
|
||||
<Compile Include="Internal\ParameterSet.cs" />
|
||||
<Compile Include="Internal\PlatformHelper.cs" />
|
||||
<Compile Include="Internal\PropertyBag.cs" />
|
||||
<Compile Include="Internal\PropertyNames.cs" />
|
||||
<Compile Include="Internal\RandomGenerator.cs" />
|
||||
<Compile Include="Internal\Randomizer.cs" />
|
||||
<Compile Include="Internal\Reflect.cs" />
|
||||
<Compile Include="Internal\Results\TestCaseResult.cs" />
|
||||
<Compile Include="Internal\Results\TestResult.cs" />
|
||||
<Compile Include="Internal\Results\TestSuiteResult.cs" />
|
||||
<Compile Include="Internal\RuntimeFramework.cs" />
|
||||
<Compile Include="Internal\StackFilter.cs" />
|
||||
<Compile Include="Internal\StringUtil.cs" />
|
||||
<Compile Include="Internal\TestExecutionContext.cs" />
|
||||
<Compile Include="Internal\TestFilter.cs" />
|
||||
<Compile Include="Internal\TestFixtureBuilder.cs" />
|
||||
<Compile Include="Internal\TestListener.cs" />
|
||||
<Compile Include="Internal\Tests\ParameterizedFixtureSuite.cs" />
|
||||
<Compile Include="Internal\Tests\ParameterizedMethodSuite.cs" />
|
||||
<Compile Include="Internal\Tests\Test.cs" />
|
||||
<Compile Include="Internal\Tests\TestAssembly.cs" />
|
||||
<Compile Include="Internal\Tests\TestFixture.cs" />
|
||||
<Compile Include="Internal\Tests\TestMethod.cs" />
|
||||
<Compile Include="Internal\Tests\TestSuite.cs" />
|
||||
<Compile Include="Internal\TextMessageWriter.cs" />
|
||||
<Compile Include="Internal\ThreadUtility.cs" />
|
||||
<Compile Include="Internal\TypeHelper.cs" />
|
||||
<Compile Include="Internal\WorkItems\CompositeWorkItem.cs" />
|
||||
<Compile Include="Internal\WorkItems\SimpleWorkItem.cs" />
|
||||
<Compile Include="Internal\WorkItems\WorkItem.cs" />
|
||||
<Compile Include="Internal\WorkItems\WorkItemState.cs" />
|
||||
<Compile Include="Is.cs" />
|
||||
<Compile Include="Iz.cs" />
|
||||
<Compile Include="ListMapper.cs" />
|
||||
<Compile Include="MessageMatch.cs" />
|
||||
<Compile Include="ObjectList.cs" />
|
||||
<Compile Include="Runner\CommandLineOptions.cs" />
|
||||
<Compile Include="Runner\ConsoleWriter.cs" />
|
||||
<Compile Include="Runner\DebugWriter.cs" />
|
||||
<Compile Include="Runner\OutputWriters\NUnit2XmlOutputWriter.cs" />
|
||||
<Compile Include="Runner\OutputWriters\NUnit3XmlOutputWriter.cs" />
|
||||
<Compile Include="Runner\OutputWriters\OutputWriter.cs" />
|
||||
<Compile Include="Runner\ResultReporter.cs" />
|
||||
<Compile Include="Runner\ResultSummary.cs" />
|
||||
<Compile Include="Runner\TcpWriter.cs" />
|
||||
<Compile Include="Runner\TextUI.cs" />
|
||||
<Compile Include="SpecialValue.cs" />
|
||||
<Compile Include="TestCaseData.cs" />
|
||||
<Compile Include="TestContext.cs" />
|
||||
<Compile Include="Throws.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="nunit.snk" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.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>
|
Загрузка…
Ссылка в новой задаче