Skip to content

Commit 0da8263

Browse files
Merge branch 'develop' into master
2 parents bc73941 + c870ec5 commit 0da8263

File tree

96 files changed

+1328
-2903
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+1328
-2903
lines changed

.gitignore

Lines changed: 93 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
## Ignore Visual Studio temporary files, build results, and
22
## files generated by popular Visual Studio add-ons.
3+
##
4+
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
35

46
# User-specific files
7+
*.rsuser
58
*.suo
69
*.user
710
*.userosscache
@@ -17,16 +20,21 @@
1720
[Rr]eleases/
1821
x64/
1922
x86/
23+
[Aa][Rr][Mm]/
24+
[Aa][Rr][Mm]64/
2025
bld/
2126
[Bb]in/
2227
[Oo]bj/
2328
[Ll]og/
2429

25-
# Visual Studio 2015 cache/options directory
30+
# Visual Studio 2015/2017 cache/options directory
2631
.vs/
2732
# Uncomment if you have tasks that create the project's static files in wwwroot
2833
#wwwroot/
2934

35+
# Visual Studio 2017 auto generated files
36+
Generated\ Files/
37+
3038
# MSTest test Results
3139
[Tt]est[Rr]esult*/
3240
[Bb]uild[Ll]og.*
@@ -40,19 +48,28 @@ TestResult.xml
4048
[Rr]eleasePS/
4149
dlldata.c
4250

43-
# DNX
51+
# Benchmark Results
52+
BenchmarkDotNet.Artifacts/
53+
54+
# .NET Core
4455
project.lock.json
4556
project.fragment.lock.json
4657
artifacts/
4758

59+
# StyleCop
60+
StyleCopReport.xml
61+
62+
# Files built by Visual Studio
4863
*_i.c
4964
*_p.c
50-
*_i.h
65+
*_h.h
5166
*.ilk
5267
*.meta
5368
*.obj
69+
*.iobj
5470
*.pch
5571
*.pdb
72+
*.ipdb
5673
*.pgc
5774
*.pgd
5875
*.rsp
@@ -62,6 +79,7 @@ artifacts/
6279
*.tlh
6380
*.tmp
6481
*.tmp_proj
82+
*_wpftmp.csproj
6583
*.log
6684
*.vspscc
6785
*.vssscc
@@ -90,6 +108,9 @@ ipch/
90108
*.vspx
91109
*.sap
92110

111+
# Visual Studio Trace Files
112+
*.e2e
113+
93114
# TFS 2012 Local Workspace
94115
$tf/
95116

@@ -110,6 +131,14 @@ _TeamCity*
110131
# DotCover is a Code Coverage Tool
111132
*.dotCover
112133

134+
# AxoCover is a Code Coverage Tool
135+
.axoCover/*
136+
!.axoCover/settings.json
137+
138+
# Visual Studio code coverage results
139+
*.coverage
140+
*.coveragexml
141+
113142
# NCrunch
114143
_NCrunch_*
115144
.*crunch*.local.xml
@@ -141,9 +170,9 @@ publish/
141170
# Publish Web Output
142171
*.[Pp]ublish.xml
143172
*.azurePubxml
144-
# TODO: Comment the next line if you want to checkin your web deploy settings
173+
# Note: Comment the next line if you want to checkin your web deploy settings,
145174
# but database connection strings (with potential passwords) will be unencrypted
146-
#*.pubxml
175+
*.pubxml
147176
*.publishproj
148177

149178
# Microsoft Azure Web App publish settings. Comment the next line if you want to
@@ -154,12 +183,12 @@ PublishScripts/
154183
# NuGet Packages
155184
*.nupkg
156185
# The packages folder can be ignored because of Package Restore
157-
**/packages/*
186+
**/[Pp]ackages/*
158187
# except build/, which is used as an MSBuild target.
159-
!**/packages/build/
188+
!**/[Pp]ackages/build/
160189
# Uncomment if necessary however generally it will be regenerated when needed
161-
#!**/packages/repositories.config
162-
# NuGet v3's project.json files produces more ignoreable files
190+
#!**/[Pp]ackages/repositories.config
191+
# NuGet v3's project.json files produces more ignorable files
163192
*.nuget.props
164193
*.nuget.targets
165194

@@ -176,12 +205,13 @@ AppPackages/
176205
BundleArtifacts/
177206
Package.StoreAssociation.xml
178207
_pkginfo.txt
208+
*.appx
179209

180210
# Visual Studio cache files
181211
# files ending in .cache can be ignored
182212
*.[Cc]ache
183213
# but keep track of directories ending in .cache
184-
!*.[Cc]ache/
214+
!?*.[Cc]ache/
185215

186216
# Others
187217
ClientBin/
@@ -192,9 +222,12 @@ ClientBin/
192222
*.jfm
193223
*.pfx
194224
*.publishsettings
195-
node_modules/
196225
orleans.codegen.cs
197226

227+
# Including strong name files can present a security risk
228+
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
229+
#*.snk
230+
198231
# Since there are multiple workflows, uncomment next line to ignore bower_components
199232
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
200233
#bower_components/
@@ -209,15 +242,20 @@ _UpgradeReport_Files/
209242
Backup*/
210243
UpgradeLog*.XML
211244
UpgradeLog*.htm
245+
ServiceFabricBackup/
246+
*.rptproj.bak
212247

213248
# SQL Server files
214249
*.mdf
215250
*.ldf
251+
*.ndf
216252

217253
# Business Intelligence projects
218254
*.rdl.data
219255
*.bim.layout
220256
*.bim_*.settings
257+
*.rptproj.rsuser
258+
*- Backup*.rdl
221259

222260
# Microsoft Fakes
223261
FakesAssemblies/
@@ -227,13 +265,17 @@ FakesAssemblies/
227265

228266
# Node.js Tools for Visual Studio
229267
.ntvs_analysis.dat
268+
node_modules/
230269

231270
# Visual Studio 6 build log
232271
*.plg
233272

234273
# Visual Studio 6 workspace options file
235274
*.opt
236275

276+
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
277+
*.vbw
278+
237279
# Visual Studio LightSwitch build output
238280
**/*.HTMLClient/GeneratedArtifacts
239281
**/*.DesktopClient/GeneratedArtifacts
@@ -253,9 +295,46 @@ paket-files/
253295
.idea/
254296
*.sln.iml
255297

256-
# CodeRush
257-
.cr/
298+
# CodeRush personal settings
299+
.cr/personal
258300

259301
# Python Tools for Visual Studio (PTVS)
260302
__pycache__/
261-
*.pyc
303+
*.pyc
304+
305+
# Cake - Uncomment if you are using it
306+
# tools/**
307+
# !tools/packages.config
308+
309+
# Tabs Studio
310+
*.tss
311+
312+
# Telerik's JustMock configuration file
313+
*.jmconfig
314+
315+
# BizTalk build output
316+
*.btp.cs
317+
*.btm.cs
318+
*.odx.cs
319+
*.xsd.cs
320+
321+
# OpenCover UI analysis results
322+
OpenCover/
323+
324+
# Azure Stream Analytics local run output
325+
ASALocalRun/
326+
327+
# MSBuild Binary and Structured Log
328+
*.binlog
329+
330+
# NVidia Nsight GPU debugger configuration file
331+
*.nvuser
332+
333+
# MFractors (Xamarin productivity tool) working folder
334+
.mfractor/
335+
336+
# Local History for Visual Studio
337+
.localhistory/
338+
339+
# BeatPulse healthcheck temp database
340+
healthchecksdb

README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Shuriken [![NuGet](https://img.shields.io/nuget/v/Shuriken.svg)](https://www.nuget.org/packages/Shuriken) [![ReSharper Extension](https://img.shields.io/resharper/v/Shuriken.Annotations.svg?label=ReSharper%20Extension)](https://plugins.jetbrains.com/plugin/11800-shuriken-annotations)
1+
# Shuriken [![NuGet](https://img.shields.io/nuget/v/Shuriken.svg)](https://www.nuget.org/packages/Shuriken)
22

33
Fully automated MVVM library without code rewriting. There is no magic behind it: a background thread monitors object properties (explicitly annotated as `[Observable]`), checks their values by comparing with their previous values, and raises change notifications "in the name" of the object.
44

@@ -76,7 +76,8 @@ static void Main()
7676
}
7777
finally
7878
{
79-
applicationMonitorScope.Dispose().GetAwaiter().GetResult();
79+
applicationMonitorScope.DisposeAsync().AsTask().GetAwaiter().GetResult(); // when running with .NET Core
80+
applicationMonitorScope.DisposeAsync().GetAwaiter().GetResult(); // when running with .NET Framework
8081
}
8182
}
8283
```
@@ -109,8 +110,6 @@ See [In-depth look into logging and performance monitoring](Docs/Etw.md)
109110
## Installation
110111
Use the NuGet package manager to install the package.
111112

112-
:bulb: *ReSharper users*: use the Extension Manager to install the external annotations for the library.
113-
114113
## Limitations
115114
The library currently supports the WPF only.
116115

Lines changed: 20 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -1,103 +1,31 @@
1-
<?xml version="1.0" encoding="utf-8"?>
2-
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3-
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
1+
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
2+
43
<PropertyGroup>
5-
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6-
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7-
<ProjectGuid>{94EB0F8D-DFE2-4246-B92D-B16555E8BF73}</ProjectGuid>
84
<OutputType>WinExe</OutputType>
9-
<AppDesignerFolder>Properties</AppDesignerFolder>
10-
<RootNamespace>Demo.Shuriken.Wpf</RootNamespace>
11-
<AssemblyName>Demo.Shuriken.Wpf</AssemblyName>
12-
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
13-
<FileAlignment>512</FileAlignment>
14-
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
15-
<WarningLevel>4</WarningLevel>
16-
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
5+
<TargetFrameworks>netcoreapp3.0;net46</TargetFrameworks>
6+
<UseWPF>true</UseWPF>
7+
<LangVersion>8.0</LangVersion>
8+
<Nullable>enable</Nullable>
9+
<StartupObject>Demo.Shuriken.Wpf.Program</StartupObject>
1710
</PropertyGroup>
18-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
19-
<PlatformTarget>AnyCPU</PlatformTarget>
20-
<DebugSymbols>true</DebugSymbols>
21-
<DebugType>full</DebugType>
22-
<Optimize>false</Optimize>
23-
<OutputPath>bin\Debug\</OutputPath>
11+
12+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
2413
<DefineConstants>DEBUG;TRACE</DefineConstants>
25-
<ErrorReport>prompt</ErrorReport>
26-
<WarningLevel>4</WarningLevel>
14+
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
2715
</PropertyGroup>
28-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
29-
<PlatformTarget>AnyCPU</PlatformTarget>
30-
<DebugType>pdbonly</DebugType>
31-
<Optimize>true</Optimize>
32-
<OutputPath>bin\Release\</OutputPath>
33-
<DefineConstants>TRACE</DefineConstants>
34-
<ErrorReport>prompt</ErrorReport>
35-
<WarningLevel>4</WarningLevel>
16+
17+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
18+
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
19+
<DebugType>none</DebugType>
20+
<DebugSymbols>false</DebugSymbols>
3621
</PropertyGroup>
37-
<PropertyGroup>
38-
<StartupObject>Demo.Shuriken.Wpf.Program</StartupObject>
39-
</PropertyGroup>
40-
<ItemGroup>
41-
<Reference Include="JetBrains.Annotations, Version=11.0.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
42-
<HintPath>..\packages\JetBrains.Annotations.11.0.0\lib\net20\JetBrains.Annotations.dll</HintPath>
43-
</Reference>
44-
<Reference Include="System" />
45-
<Reference Include="System.Xml" />
46-
<Reference Include="System.Core" />
47-
<Reference Include="System.Xaml">
48-
<RequiredTargetFramework>4.0</RequiredTargetFramework>
49-
</Reference>
50-
<Reference Include="WindowsBase" />
51-
<Reference Include="PresentationCore" />
52-
<Reference Include="PresentationFramework" />
53-
</ItemGroup>
54-
<ItemGroup>
55-
<ApplicationDefinition Include="App.xaml">
56-
<Generator>MSBuild:Compile</Generator>
57-
<SubType>Designer</SubType>
58-
</ApplicationDefinition>
59-
<Compile Include="ViewModels\MainViewModel.cs" />
60-
<Compile Include="ViewModels\SampleViewModel.cs" />
61-
<Compile Include="ViewModels\SampleViewModelContainer.cs" />
62-
<Compile Include="ViewModels\SampleViewModelContainerRegular.cs" />
63-
<Compile Include="ViewModels\SampleViewModelRegular.cs" />
64-
<Page Include="MainWindow.xaml">
65-
<Generator>MSBuild:Compile</Generator>
66-
<SubType>Designer</SubType>
67-
</Page>
68-
<Compile Include="App.xaml.cs">
69-
<DependentUpon>App.xaml</DependentUpon>
70-
<SubType>Code</SubType>
71-
</Compile>
72-
<Compile Include="MainWindow.xaml.cs">
73-
<DependentUpon>MainWindow.xaml</DependentUpon>
74-
<SubType>Code</SubType>
75-
</Compile>
76-
</ItemGroup>
77-
<ItemGroup>
78-
<Compile Include="Program.cs" />
79-
<Compile Include="Properties\AssemblyInfo.cs">
80-
<SubType>Code</SubType>
81-
</Compile>
82-
<AppDesigner Include="Properties\" />
83-
</ItemGroup>
22+
8423
<ItemGroup>
85-
<ProjectReference Include="..\Shuriken.Wpf\Shuriken.Wpf.csproj">
86-
<Project>{8DE93D00-4B56-424B-AA7D-02C4A4A41F0D}</Project>
87-
<Name>Shuriken.Wpf</Name>
88-
</ProjectReference>
24+
<PackageReference Include="JetBrains.Annotations" Version="2020.1.0" />
8925
</ItemGroup>
26+
9027
<ItemGroup>
91-
<None Include="packages.config">
92-
<SubType>Designer</SubType>
93-
</None>
28+
<ProjectReference Include="..\Shuriken.Wpf\Shuriken.Wpf.csproj" />
9429
</ItemGroup>
95-
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
96-
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
97-
Other similar extension points exist, see Microsoft.Common.targets.
98-
<Target Name="BeforeBuild">
99-
</Target>
100-
<Target Name="AfterBuild">
101-
</Target>
102-
-->
30+
10331
</Project>

0 commit comments

Comments
 (0)