Base solution for your next web application

Activities of "TimMackey"

Warning messages (1 of 5):

Severity:     Warning
Code:         MSB3277
Description:  Found conflicts between different versions of "System.Drawing.Common" that could not be resolved. 
              These reference conflicts are listed in the build log when log verbosity is set to detailed.
Project:      ngTTM.Web.Public
File:         C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
Line:         2106	

Build log file (a small sample of a file with 101K lines)

28>    There was a conflict between "System.Drawing.Common, Version=4.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" and "System.Drawing.Common, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51".
28>        "System.Drawing.Common, Version=4.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" was chosen because it was primary and "System.Drawing.Common, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" was not.
28>        References which depend on "System.Drawing.Common, Version=4.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" [C:\Users\Tim\.nuget\packages\system.drawing.common\4.6.0\ref\netstandard2.0\System.Drawing.Common.dll].
28>            C:\Users\Tim\.nuget\packages\system.drawing.common\4.6.0\ref\netstandard2.0\System.Drawing.Common.dll
28>              Project file item includes which caused reference "C:\Users\Tim\.nuget\packages\system.drawing.common\4.6.0\ref\netstandard2.0\System.Drawing.Common.dll".
28>                C:\Users\Tim\.nuget\packages\system.drawing.common\4.6.0\ref\netstandard2.0\System.Drawing.Common.dll
28>        References which depend on "System.Drawing.Common, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" [].
28>            C:\Users\Tim\Documents\__ngTTMv723\aspnet-core\src\ngTTM.Web.Core\bin\Debug\netcoreapp2.2\ngTTM.Web.Core.dll
28>              Project file item includes which caused reference "C:\Users\Tim\Documents\__ngTTMv723\aspnet-core\src\ngTTM.Web.Core\bin\Debug\netcoreapp2.2\ngTTM.Web.Core.dll".
28>                C:\Users\Tim\Documents\__ngTTMv723\aspnet-core\src\ngTTM.Web.Core\bin\Debug\netcoreapp2.2\ngTTM.Web.Core.dll
28>            C:\Users\Tim\Documents\__ngTTMv723\aspnet-core\ttm\DrawImagesLibrary\bin\Debug\netcoreapp2.2\DrawImagesLibrary.dll
28>              Project file item includes which caused reference "C:\Users\Tim\Documents\__ngTTMv723\aspnet-core\ttm\DrawImagesLibrary\bin\Debug\netcoreapp2.2\DrawImagesLibrary.dll".
28>                C:\Users\Tim\Documents\__ngTTMv723\aspnet-core\ttm\DrawImagesLibrary\bin\Debug\netcoreapp2.2\DrawImagesLibrary.dll
28>                C:\Users\Tim\Documents\__ngTTMv723\aspnet-core\ttm\ImportFilesLibrary\bin\Debug\netcoreapp2.2\ImportFilesLibrary.dll
28>                C:\Users\Tim\Documents\__ngTTMv723\aspnet-core\ttm\JobsLibrary\bin\Debug\netcoreapp2.2\JobsLibrary.dll
28>                C:\Users\Tim\Documents\__ngTTMv723\aspnet-core\src\ngTTM.Application\bin\Debug\netcoreapp2.2\ngTTM.Application.dll
28>                C:\Users\Tim\Documents\__ngTTMv723\aspnet-core\src\ngTTM.Web.Core\bin\Debug\netcoreapp2.2\ngTTM.Web.Core.dll
28>                C:\Users\Tim\Documents\__ngTTMv723\aspnet-core\src\ngTTM.EntityFrameworkCore\bin\Debug\netcoreapp2.2\ngTTM.EntityFrameworkCore.dll

I can't figure out how to resolve the warning. Any suggestions?

Upgrading to Core 2.2.6 fixed the issue.

I'm having issues with Version 7.2.3 .NET Core 2.2/Angular. I've read report #7364 and all the related links.

My 'aspnetcorev2_inprocess.dll' appears to be correct.

I wanted to try one of the solutions by upgrading Microsoft.AspNetrCore.App, but NuGet won't allow it. The recommended 'Microsoft.AspNetrCore.App' is stuck at 2.2.0. Unable to upgrade due to "Blocked by project" message in version dropdown.

I'm experiencing the following error in VS Code Debug Console window when I login as Default/admin:

[WDS] Live Reloading enabled.
vendor.js:233197
ERROR
core.js:4002
Error: An unexpected server error occurred.
core.js:4002
Failed to load resource: net::ERR_INVALID_HTTP_RESPONSE [http://localhost:22742/api/services/app/Session/GetCurrentLoginInformations]
Unhandled Promise rejection: An unexpected server error occurred. ; Zone: <root> ; Task: Promise.then ; Value:
zone.js:699
Error: An unexpected server error occurred.
zone.js:699
Error: An unexpected server error occurred.
    at new ApiException (http://localhost:4200/main.js:49133:28)
    at throwException (http://localhost:4200/main.js:49152:72)
    at MergeMapSubscriber.project (http://localhost:4200/main.js:37110:24)
    at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._tryNext (http://localhost:4200/vendor.js:220186:27)
    at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._next (http://localhost:4200/vendor.js:220176:18)
    at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (http://localhost:4200/vendor.js:214881:18)
    at Observable._subscribe (http://localhost:4200/main.js:49157:22)
    at Observable.push../node_modules/rxjs/_esm5/internal/Observable.js.Observable._trySubscribe (http://localhost:4200/vendor.js:214263:25)
    at Observable.push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe (http://localhost:4200/vendor.js:214249:22)
    at MergeMapOperator.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapOperator.call (http://localhost:4200/vendor.js:220154:23)
Question

ANZ has taken some steps for GDPR compliance, for which I (and I believe the ANZ community) am grateful for. CCPA is coming to the United States, and California in particular on January 1, 2020.

California Consumer Privacy Act (CCPA)

Digital Guardian article

The "price" of non-compliance is my corporation cannot be located in California, nor can my company do business in California (a state with a GDP on par with France), or I must roll my own solution when my company grows to a certain size.

Of immediate concern are the system logs collected in App_Data folder.

Is ANZ compliant today? And if not now, when?

Discovered 5 rows in AbpTenantNotifications table with "PubExamStatus". Deleted 5 rows. The error is not appearing. Fixed.

My app is ANZ version 7.0.0 ASP.NET Core2.2/Angular I added the following change to my app, per the Notification System page in Abp documentation:

 await _notificationPublisher.PublishAsync("PubExamStatus", new MyNotificationData(myMessage, myOtherMessage), userIds: new[] { targetUserId });
    }

I was not getting the following error, so I backed out the changes and did a clean build of everything. Yet the error persists:

Angular is running in the development mode. Call enableProdMode() to enable the production mode.
Angular is running in the development mode. Call enableProdMode() to enable the production mode.
DEBUG:
Starting connection using WebSockets transport
DEBUG:
Starting connection using WebSockets transport
[2019-09-24T01:36:31.652Z] Information: WebSocket connected to ws://localhost:22742/signalr?enc_auth_token=wNYmO41%2F48SHNstaLVXxHCCre29BZQl1NhC6NM3R3rzpXtPQxVzH6jEzA%2FQhXFN5tu6Fk7pO53uppm1mVXMZgxbyRVz26dnepi%2FFyB6axBY%2B6gq1GL%2BuRQgoiFUCjRN2p8w6LevViwKlHyWZZJZO1DGVSjAi1m2U%2Bog9pkHw9%2FRWPyEbRvXfVC%2F1p8CH%2BXgtptd8QeA9GOhEjN6mcqQaBDIgOntQDGwLFyO1O6kOY39OUjFF0ZdBsDeTW23e7XQhlVNtiaLaeqy1igtdhgRpIzjgcxQHQUXzj4%2BxGo3gmwHntQOGzQ3cFq4MAclm1PAmS%2BG2kvAfjbFYIsbB4mjc5N8yEk97R9owK9xCT%2FX1FSwawL4YJmvziaufRKDt%2FKlpOaF%2FCXFfH4Czt%2FQQFgGBy5lyKdWU7y3aSqtVc3v%2FfLz7nTDNlpQEJ7JpuuoUELJqtu%2FSnJ5UcUYa1RdssO4mANx%2B11y0ggUSBA%2FVouui3Nj0SKVLyQ43nLtqqbyCUcVZ4FlfjbVq7p8q7ZzEvhW5Qaf05XUdQIwgoPdC9T7dN9IWYyfz7gNF6OM5cKPu%2BNMDwLav%2BC59SWHtqF4DgT7S4Ulo6ZQaIGbXlTzzeMj1r04kupC%2BiZ1syeLdkmSHWlMLGm%2ByR9apuMY74X7X46CAikT5v8r6obkVubPxChgDONhUPRwgYWmN37NhDEq%2FYyc5bEFHa1ahrbtvmWQnumu1Rtch8y%2BgjDu04e1QqJ38l1dFG2TPq4wzK3ebrMiSizsGPK%2Fq3hRgDLnYcrRiQUIiP8wrjfFyPVjSXOZOlFjvYEkCzUpqx6rvh4X9SK4MSbAsIatmh1iWKU0YkL3Y27O%2BGzwlnpuv7h4zmlVv3%2FVGsEEVNKxXGOBtmA%2FdSUn8%2BclSgzmkMr%2BZAnt%2FYRlM%2Ff2IpwjRPXuAnWy8gUDzbXzXrCX2lSAHtJmJD%2FeD86V3Ks5b2exWPk4Os%2BY6vkHqndu0S14AkD9sYW1skW9spePU5xtne0MzUJ6vPvkjSaYwOthpyOjTHN1dNvy%2BF7nzwqq75kLtvVlkv3unXRvAL1Dfj34n1sUvs44jZAQ0A7TS%2FeKSwIn3cPa1GSuua95sij%2BjDzwZ1GiM5OCI0DWSydezKdA%3D&id=Itt3DlTN0kbkAUSAzIKpgg.
[2019-09-24T01:36:31.656Z] Information: WebSocket connected to ws://localhost:22742/signalr-chat?enc_auth_token=wNYmO41%2F48SHNstaLVXxHCCre29BZQl1NhC6NM3R3rzpXtPQxVzH6jEzA%2FQhXFN5tu6Fk7pO53uppm1mVXMZgxbyRVz26dnepi%2FFyB6axBY%2B6gq1GL%2BuRQgoiFUCjRN2p8w6LevViwKlHyWZZJZO1DGVSjAi1m2U%2Bog9pkHw9%2FRWPyEbRvXfVC%2F1p8CH%2BXgtptd8QeA9GOhEjN6mcqQaBDIgOntQDGwLFyO1O6kOY39OUjFF0ZdBsDeTW23e7XQhlVNtiaLaeqy1igtdhgRpIzjgcxQHQUXzj4%2BxGo3gmwHntQOGzQ3cFq4MAclm1PAmS%2BG2kvAfjbFYIsbB4mjc5N8yEk97R9owK9xCT%2FX1FSwawL4YJmvziaufRKDt%2FKlpOaF%2FCXFfH4Czt%2FQQFgGBy5lyKdWU7y3aSqtVc3v%2FfLz7nTDNlpQEJ7JpuuoUELJqtu%2FSnJ5UcUYa1RdssO4mANx%2B11y0ggUSBA%2FVouui3Nj0SKVLyQ43nLtqqbyCUcVZ4FlfjbVq7p8q7ZzEvhW5Qaf05XUdQIwgoPdC9T7dN9IWYyfz7gNF6OM5cKPu%2BNMDwLav%2BC59SWHtqF4DgT7S4Ulo6ZQaIGbXlTzzeMj1r04kupC%2BiZ1syeLdkmSHWlMLGm%2ByR9apuMY74X7X46CAikT5v8r6obkVubPxChgDONhUPRwgYWmN37NhDEq%2FYyc5bEFHa1ahrbtvmWQnumu1Rtch8y%2BgjDu04e1QqJ38l1dFG2TPq4wzK3ebrMiSizsGPK%2Fq3hRgDLnYcrRiQUIiP8wrjfFyPVjSXOZOlFjvYEkCzUpqx6rvh4X9SK4MSbAsIatmh1iWKU0YkL3Y27O%2BGzwlnpuv7h4zmlVv3%2FVGsEEVNKxXGOBtmA%2FdSUn8%2BclSgzmkMr%2BZAnt%2FYRlM%2Ff2IpwjRPXuAnWy8gUDzbXzXrCX2lSAHtJmJD%2FeD86V3Ks5b2exWPk4Os%2BY6vkHqndu0S14AkD9sYW1skW9spePU5xtne0MzUJ6vPvkjSaYwOthpyOjTHN1dNvy%2BF7nzwqq75kLtvVlkv3unXRvAL1Dfj34n1sUvs44jZAQ0A7TS%2FeKSwIn3cPa1GSuua95sij%2BjDzwZ1GiM5OCI0DWSydezKdA%3D&id=aSMFXX-DnCh9C3V7fMO2FA.
DEBUG:
Connected to SignalR server!
DEBUG:
Registered to the SignalR server!
null: ERROR
null: TypeError: Cannot read property 'type' of undefined
message: "Cannot read property 'type' of undefined"
stack: "TypeError: Cannot read property 'type' of undefined
    at Object.abp.notifications.getFormattedMessageFromUserNotification (http://localhost:4200/scripts.js:34510:96)
    at UserNotificationHelper.push../src/app/shared/layout/notifications/UserNotificationHelper.ts.UserNotificationHelper.format (http://localhost:4200/main.js:22251:37)
    at http://localhost:4200/main.js:22394:72
    at arrayEach (http://localhost:4200/vendor.js:131238:11)
    at Function.forEach (http://localhost:4200/vendor.js:140066:14)
    at SafeSubscriber._next (http://localhost:4200/main.js:22393:59)
    at SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub (http://localhost:4200/vendor.js:234478:16)
    at SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next (http://localhost:4200/vendor.js:234416:22)
    at Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next (http://localhost:4200/vendor.js:234362:26)
    at Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (http://localhost:4200/vendor.js:234339:18)"
__proto__: Error {constructor: , name: "TypeError", message: "", …}
constructor: function TypeError() { … }
message: ""
name: "TypeError"
toString: function toString() { … }
__proto__: Object {constructor: , name: "Error", message: "", …}

To ensure a clean system, I compared my code with yesterday's backup - no differences. I used Agent Ransack to search every file in my project for "PubExamStatus" - text not found. I cleared Chrome browser cache, and rebooted my Windows 10 workstation. The error persists. Below are a couple of screenshots that may illuminate the issue for you. Where the fault occurs:

The calling function:

It appears the "PubExamStatus" is in a file somewhere on my system. Where? How can I remove the text?

The resolution of #7635 obviated a need for this approach.

Converting to virtual solved the issue. See #7550 for complete solution.

The above suggested solution was only partially related to my problem. I solved the issue by conditionally compiling out foreign keys (but not the id) in tables that referenced referenced Tenant. i.e.

    [Table("Buildings")]
    public class Building : FullAuditedEntity , IMayHaveTenant
    {
#if !CUSTOM_DB_CONTEXT_LIB
        [ForeignKey("TenantId")]
        public virtual Tenant Tenant { get; set; }
#endif
        public virtual int? TenantId { get; set; }
        
        [Required]
        [StringLength(BuildingConsts.MaxBuildingNameLength, MinimumLength = BuildingConsts.MinBuildingNameLength)]
        public virtual string BuildingName { get; set; }
       ...
    }

This allows me to use the same table definition files in ANZ-generated context public class AnzAppDbContext : AbpZeroDbContext<Tenant, Role, User, AnzAppDbContext>, IAbpPersistedGrantDbContext and my custom context for .NET Core 2.2, which is...

using Microsoft.EntityFrameworkCore;

namespace CustomDbContextLibrary
{
    public class CustomDbContext : DbContext
    {
        public virtual DbSet<Building> Buildings { get; set; }
        ...
        public virtual DbSet<Room> Rooms { get; set; }

        public ExamDbContext(DbContextOptions<ExamDbContext> options)
           : base(options)
        {
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
        }
    }
}

The class constructor is

using Microsoft.EntityFrameworkCore;
#if CUSTOM_DB_CONTEXT_LIB
using CustomDbContextLibrary;
using DbContext = CustomDbContextLibrary.CustomDbContext;
#else
using  AnzApp.AnzAppDataModel;
using DbContext = AnzApp.EntityFrameworkCore.AnzAppDbContext;
#endif
using Abp.EntityFrameworkCore;
using Abp.Domain.Uow;
using System.Transactions;
using Microsoft.Extensions.Configuration;
using Microsoft.AspNetCore.Hosting;

private readonly IDbContextProvider<DbContext> _dbContextProvider;
private readonly IConfigurationRoot _appConfiguration;
private readonly DbContextOptionsBuilder<DbContext> _dbContextOptionsBuilder;
//-----------------------------------------------------------------------------------------
public CreateSomethingClass(
    IDbContextProvider<DbContext> dbContextProvider,
    IHostingEnvironment hostingEnvironment
    )
{
    _dbContextProvider = dbContextProvider;
    _appConfiguration = hostingEnvironment.GetAppConfiguration();
    _dbContextOptionsBuilder = new DbContextOptionsBuilder<DbContext>();
    string connStr = _appConfiguration.GetConnectionString("Default");
    _dbContextOptionsBuilder.UseSqlServer(connStr);
}

Usage is

 public virtual bool Create(string guid, string rootFolder)
 {
        using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Suppress))
        {
            DbContext context = new DbContext(_dbContextOptionsBuilder.Options);
            {
                Building bldg = context.Buildings.First(x => x.BuildingName == "Electric Tower") ;
                bldg.BuildingName = "Tower Two";
                context.SaveChanges();
                ...
                // thousands of lines of code not shown
             }
          }
 }

This provides performance equivalent to ASP.NET EntityFramework when referencing many tables for high frequency bursts of create/read/update rows.

Making the Create method virtual, as suggested in ticket #7635 eliminates transactional nature of db access. This resolves all issues.

@maliming and @ismcagdas - Thank you for your all your suggestions.

When will version 7.2.3 be available for Download?

Showing 211 to 220 of 398 entries