Converting to VS 2017 .csproj format with PackageReference - vb.net

I have a legacy solution which I've been gradually upgrading and now want to upgrade the .csproj and .vbproj files to the new 2017 format with PackageReference rather than the packages.config.
The overall solution has around 60+ projects so migrating by hand would be VERY painful. I've been searching for a utility to automate the process without success. Does anyone know of any scripts out there for doing this?
I've tried using NuGet PackageReference Upgrader but id doesn't work. I get the following error in my output window
24/05/2018 8:37:22 AM: Update failed. Exceptions:
24/05/2018 8:37:22 AM: Message: Object reference not set to an instance of an object.
at CloudNimble.PackageReferenceUpgrader.NuGetUpgraderPackage.<>c__DisplayClass9_1.<UpgradePackagesConfig>b__12(XElement c) in C:\projects\packagereferenceupgrader\src\CloudNimble.PackageReferenceUpgrader\NuGetUpgraderPackage.cs:line 187
at System.Linq.Enumerable.<>c__DisplayClass6_0`1.<CombinePredicates>b__0(TSource x)
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at CloudNimble.PackageReferenceUpgrader.NuGetUpgraderPackage.<>c__DisplayClass9_0.<UpgradePackagesConfig>b__1(Int32 i) in C:\projects\packagereferenceupgrader\src\CloudNimble.PackageReferenceUpgrader\NuGetUpgraderPackage.cs:line 187
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object )
24/05/2018 8:37:43 AM: Backup created for D:\workspace\e5tfs\dataract461\e5 Releases\Dev\e5 Foundation\e5 Legacy\Source\SharedAssemblies\Repository\packages.config.
24/05/2018 8:37:43 AM: Update failed. Exceptions:
24/05/2018 8:37:43 AM: Message: Object reference not set to an instance of an object.
at CloudNimble.PackageReferenceUpgrader.NuGetUpgraderPackage.<>c__DisplayClass9_1.<UpgradePackagesConfig>b__12(XElement c) in C:\projects\packagereferenceupgrader\src\CloudNimble.PackageReferenceUpgrader\NuGetUpgraderPackage.cs:line 187
at System.Linq.Enumerable.<>c__DisplayClass6_0`1.<CombinePredicates>b__0(TSource x)
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at CloudNimble.PackageReferenceUpgrader.NuGetUpgraderPackage.<>c__DisplayClass9_0.<UpgradePackagesConfig>b__1(Int32 i) in C:\projects\packagereferenceupgrader\src\CloudNimble.PackageReferenceUpgrader\NuGetUpgraderPackage.cs:line 187
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object )

Converting to VS 2017 .csproj format with PackageReference
I have created a simple sample with packages.config, I can migrate it to PackageReference via the tool NuGet PackageReference Upgrader. It is difficult to figure out the reason why you get that error based on the error log.
You can contact the owner of that extension by Q & A, If you are interested in.
To accomplish migrate Packages.config to PackageReference, you can download the Visual Studio Version 15.7 Preview 3, which supports migrating a project from the packages.config management format to the PackageReference format. Check the Visual Studio Blog: Visual Studio 2017 version 15.7 Preview 3 for some more details.

Related

Cannot install in Visual Studio 2022

I get a notification telling me this is available in Visual Studio 2022 (Version 17.0.0 Preview 4.1). However, it will not install - any advice?
The errorlog shows the following:
10/1/2021 8:06:19 AM - A cycle was detected in the dependency graph:
Microsoft.VisualStudio.ComponentGroup.UWP.VC
---> Microsoft.VisualStudio.ComponentGroup.UWP.VC
10/1/2021 8:06:19 AM - Install Error : Microsoft.VisualStudio.Setup.Dependencies.DependencyGraphConstructionException: A cycle was detected in the dependency graph:
Microsoft.VisualStudio.ComponentGroup.UWP.VC
---> Microsoft.VisualStudio.ComponentGroup.UWP.VC
at Microsoft.VisualStudio.Setup.Engine.GetProductDependencyGraph(Product product, Boolean overwrite)
at Microsoft.VisualStudio.ExtensionManager.SetupEngineService.get_GetProductDependencyGraph()
at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.PerformSetupEngineInstall(InstallableExtensionImpl extension, Boolean installPerMachine, Boolean isPackComponent, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, IProgress`1 progress, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion, IInstalledExtension& newExtension)
at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.InstallInternal(InstallableExtensionImpl extension, InstallFlags installFlags, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, AsyncOperation asyncOp, IProgress`1 progress, Version targetedVsVersion)
at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.BeginInstall(IInstallableExtension installableExtension, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion)
at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.InstallWorker(IInstallableExtension extension, InstallFlags installFlags, AsyncOperation asyncOp)
This is a known issue with the C++/WinRT VSIX and Visual Studio 2022 Preview 4.1:
Unable to update from Preview 1.1 to Preview 2.0. A cycle was detected in the dependency graph: Microsoft.VisualStudio.ComponentGroup.UWP.VC (Microsoft claims to have fixed the issue, though it's still there for everyone trying to update the C++/WinRT VSIX)
VS 2022 VSIX support (Bug report against the C++/WinRT repo about the update issue; no resolution thus far)
At this time it has not been officially described, what the issue is, which team will need to resolve it or when we can expect to receive an update.

Using XAML UpgradeTemplate with TFS 2015 \ 2017

I ran into this issue upgrading from TFS 2013 to 2017. If you are still using the UpgradeTemplate.xaml to run old TFS 2005\2008 style MSBuild Team Builds (TFSBuild.proj) you will find that they do not work with the TFS 2015 or 2017 XAML build agent.
You will get this error when running the build due to some breaking changes that were introduced in the core assemblies. XAML builds have been deprecated for some time... and the old MSBuild based Team Builds are waaaayyyyy out of support. So Microsoft (rightfully) doesn't care.
But is there a way to get these builds working in TFS 2015\2017? It would be a big waste of time to convert these over to using XAML builds only to then convert them to the new build engine after upgrading to TFS 2017.
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets (957): The following errors were encountered while processing the workflow tree:
'VisualBasicValue<LabelChildOption>': Compiler error(s) encountered processing expression "Microsoft.TeamFoundation.VersionControl.Client.LabelChildOption.Fail".
'LabelChildOption' is ambiguous in the namespace 'Microsoft.TeamFoundation.VersionControl.Client'.
'VisualBasicValue<RecursionType>': Compiler error(s) encountered processing expression "Microsoft.TeamFoundation.VersionControl.Client.RecursionType.Full".
'RecursionType' is ambiguous in the namespace 'Microsoft.TeamFoundation.VersionControl.Client'.
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets (957): The "Label" task failed unexpectedly.
System.Activities.InvalidWorkflowException: The following errors were encountered while processing the workflow tree:
'VisualBasicValue<LabelChildOption>': Compiler error(s) encountered processing expression "Microsoft.TeamFoundation.VersionControl.Client.LabelChildOption.Fail".
'LabelChildOption' is ambiguous in the namespace 'Microsoft.TeamFoundation.VersionControl.Client'.
'VisualBasicValue<RecursionType>': Compiler error(s) encountered processing expression "Microsoft.TeamFoundation.VersionControl.Client.RecursionType.Full".
'RecursionType' is ambiguous in the namespace 'Microsoft.TeamFoundation.VersionControl.Client'.
at System.Activities.Hosting.WorkflowInstance.ValidateWorkflow(WorkflowInstanceExtensionManager extensionManager)
at System.Activities.Hosting.WorkflowInstance.RegisterExtensionManager(WorkflowInstanceExtensionManager extensionManager)
at System.Activities.WorkflowApplication.EnsureInitialized()
at System.Activities.WorkflowApplication.RunInstance(WorkflowApplication instance)
at System.Activities.WorkflowApplication.Invoke(Activity activity, IDictionary`2 inputs, WorkflowInstanceExtensionManager extensions, TimeSpan timeout)
at System.Activities.WorkflowInvoker.Invoke(Activity workflow, IDictionary`2 inputs, TimeSpan timeout, WorkflowInstanceExtensionManager extensions)
at Microsoft.TeamFoundation.Build.Tasks.WorkflowTask.ExecuteInternal()
at Microsoft.TeamFoundation.Build.Tasks.Task.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
You can work around this error if you don’t care about labeling your code as part of the build process or updating associated work items. In my case I was still using the UpgradeTemplate as a convenient way of performing a check-in based “Get-Latest” of source code in TFVC to the builds folder on the build machine… not really a “build” at all. So this was A-OK.
Set these two properties to true in your TFSBuild.proj
This will cause MSBuild to skip execution of the CoreLabel and the CoreGetChangesetsAndUpdateWorkItems targets. CoreLabel is the one which loads the task that is failing the build... and CoreGetChangesetsAndUpdateWorkItems needs the label to exist or it will also fail.
I found these properties by digging through the old C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets - which is the team build script that shipped with TFS 2005 \ 2008.
<SkipLabel>true</SkipLabel>
<SkipGetChangesetsAndUpdateWorkItems>true</SkipGetChangesetsAndUpdateWorkItems>

Failed to locate the code coverage command line tool , MSBuild with SonarQube

Getting the following error's once build is triggered from the build definition.
3:46:16 AM Failed to locate the code coverage command line tool Post-processing failed. Exit code: 1
Exception Message: TF270015: 'MSBuild.SonarQube.Runner.exe' returned an unexpected exit code. Expected '0'; actual '1'. See the build logs for more details. (type UnexpectedExitCodeException)
Exception Stack Trace:
at System.Activities.Statements.Throw.Execute(CodeActivityContext context)
at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
I am using SonarQube 5.3, installed in the build server. I have .net framework installed in build server not the visual studio .
BuildDefinition where I am referencing SonarQube.
Please help me here !!!!
The code coverage tools are installed with Visual Studio not the .Net Framework, so if you want code coverage you'll need to install VS on the build agent.
Depending on the version of Visual Studio you are using, you may not need an additional license for build agent. See the discussion Is a separate Visual Studio license required for a build machine? get more detail.

Error migrating from GeneXus 9 to GeneXus Evo 2 U5

I'm migrating a KB from GeneXus 9 to GeneXus Evo 2 U5. I'm using .Net and SQL Server, and followed the steps that are mentioned in GXTechnical but I have the following error:
========== DeveloperMenu Compilation started ==========
gxexec "C:\Modelos GX\Postulantes\DATAPROT\bldDevelopermenu.cs" -r:GxBaseBuilder.dll -arg:csc="C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe" -arg:mdlpath="C:\Modelos GX\Postulantes\DATAPROT"
Building bin\messages.spa.dll
Read in 570 resources from 'messages.spa.txt'
Writing resource file... Done.
Compilador de Microsoft (R) Visual C# 2008, versi¢n 3.5.30729.5420 para Microsoft (R) .NET Framework, versi¢n 3.5
(C) Microsoft Corporation. Reservados todos los derechos.
Error:Build error for target bin\GeneXus.Programs.Common.dll: .\GxObjectCollection.cs does not exist.
DeveloperMenu Compilation Failed
========== Assemblies Compilation started ==========
gxexec "C:\Modelos GX\Postulantes\DATAPROT\bldAssemblies.cs" -r:GxBaseBuilder.dll -arg:csc="C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe" /noconfig -arg:mdlpath="C:\Modelos GX\Postulantes\DATAPROT"
Error:Build error for target bin\GeneXus.Programs.Common.dll: .\GxObjectCollection.cs does not exist.
Assemblies Compilation Failed
Rebuild All Failed
What should I do to solve this problem?
Try these steps:
In GeneXus, go to Tools -> Explore Knowledgebase Directory
Delete all *.ari, *.0?? files
In GeneXus, go to Tools -> Explore Target Environment Directory
Delete that folder
In GeneXus, go to Build -> Rebuild All
If you keep having the same error, look at the entire output; there may be other errors before that one. If not, contact the GeneXus support team. If yes, search in google or search.genexus.com for solutions of that new errors.

Strange error while attempting to use Zip task from .net 4.0 version of MSBuild.ExtensionPack

We've been getting inconsistent results from the Zip task in Tigris MSBuild task library, so we're trying to use the Zip task in the MSBuild.ExtensionPack for .NET 4.0. But when we execute this new Zip task, we get the following error from the MSBuild executable:
C:\development\build\PrepareLastKnownGood.csproj(40,3): error : Typ
eInitializationException: The type initializer for 'java.lang.System' threw an
exception.\r
C:\development\build\PrepareLastKnownGood.csproj(40,3): error : Unsat
isfiedLinkError: Unable to load DLL 'vjsnativ': The specified module could not
be found. (Exception from HRESULT: 0x8007007E)\r
Has anyone else encountered this error in their use of the Zip task from MSBuild.ExtensionPack? If so, how did you resolve it?
Zip task from MSBuild.ExtensionPack.JSharp.dll is implemented in J#. And has dependency to the vjslib.dll.
You need to install Microsoft Visual J# Version 2.0 Redistributable Package.