zeroc-ice / ice-builder-visualstudio Goto Github PK
View Code? Open in Web Editor NEWConfigure Ice Builder for MSBuild from Visual Studio
Home Page: https://zeroc.com
License: BSD 3-Clause "New" or "Revised" License
Configure Ice Builder for MSBuild from Visual Studio
Home Page: https://zeroc.com
License: BSD 3-Clause "New" or "Revised" License
When a Slice file Foo.ice
is removed or renamed, the corresponding dependencies file SliceCompile.Foo.d
is not removed.
I see the problem, I think the Visual Studio IceBuilder plugin isn't expanding the item metadata correctly.
This will work well for a pure MSBuild build, as a workaround you can try something like
<ItemGroup>
<SliceCompile Update="SliceFiles\AModule\*.ice">
<OutputDir>generated/AModule</OutputDir>
</SliceCompile>
<SliceCompile Update="SliceFiles\AnotherModule\*.ice">
<OutputDir>generated/AnotherModule</OutputDir>
</SliceCompile>
</ItemGroup>
Originally posted by @pepone in zeroc-ice/ice-builder-msbuild#9 (comment)
If your C++ project uses a precompiled header, your best choice today is to add the rather obscure option --add-header <pch file>
in the Additional Options
of your Slice compilation. With this option, the precompiled header is included at the top of the generated C++ source file.
It would be nice if this support was more automatic. For example, Ice Builder could disable precompiled header file support when C++-compiling the generated C++ source files. Or alternatively, Ice Builder could offer a new SliceCompile item metadata for precompiled header support, mapped to --add-header
.
Hello,
would it be possible to port this extension to the new Visual Studio 2019.
This new Version was released early April and it would be great to get the needed extensions running for a switch.
I tried to do a port myself, but I'm unable to compile the whole extension because I'm missing the older Visual Studios on my machine. I would be very happy to alpha/beta test a new version.
Thanks in advance
Cheers Simulacrux
Hello,
I currently try to move from VS2015 to VS2019 and from IceBuilder 4.3.10 to 6.0.0.
After I try to open an Ice related solution, the Ice Builder is prompting me following dialog.
If I accept this offer some wait cursor spinning is applied and after a couple of seconds, the whole Visual Studio 2019 crashes (no other prompt, no error message). Right away it restarts and tries to load the last solution again. Then he discovers this solution must be converted and prompts me the same dialog again.
If I accept, I go into a never ending loop. A cancel is breaking it, but nothing is converted and the solution is not compile able, because the Ice related projects giving me following error:
This project requires the Ice Builder for Visual Studio extension. Use "Tools > Extensions and Updates" to install it. For more information, see https://visualstudiogallery.msdn.microsoft.com/1a64e701-63f2-4740-8004-290e6c682ce0.
A look into the Event-Viewer from Windows the 4 messages I attached are related to the VS2019 crash.
DevEnvFail.zip
Our solution is under TFS source control and checked in at the start of the whole process.
The Visual Studio (patch 16.3.4) is running on a Windows 10 1903 patched to the last released CU version.
Could you verify this behavior? Or am I doing something wrong on our side?
Best Regards,
Simulacrux
This happened with 15.9.7
, the desktop workload was not installed, if didn't happen after installing it but it is not clear if this was the cause or just a coincidence.
<entry>
<record>274</record>
<time>2019/09/26 16:25:11.744</time>
<type>Error</type>
<source>VisualStudio</source>
<description>SetSite failed for package [Package]Source: 'Microsoft.VisualStudio.Composition' Description: Expected 1 export(s) with contract name "NuGet.VisualStudio.IVsPackageInstallerServices" but found 0 after applying applicable constraints.
Microsoft.VisualStudio.Composition.CompositionFailedException: Expected 1 export(s) with contract name "NuGet.VisualStudio.IVsPackageInstallerServices" but found 0 after applying applicable constraints.
 at Microsoft.VisualStudio.Composition.ExportProvider.GetExports(ImportDefinition importDefinition)
 at Microsoft.VisualStudio.Composition.ExportProvider.GetExports[T,TMetadataView](String contractName, ImportCardinality cardinality)
 at Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T,TMetadataView](String contractName)
 at Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T](String contractName)
 at Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T]()
 at Microsoft.VisualStudio.Composition.ExportProvider.GetExportedValue[T]()
 at Microsoft.VisualStudio.ComponentModelHost.ComponentModel.GetService[T]()
 at IceBuilder.NuGetI..ctor() in D:\3.7\ice-builder-visualstudio-2019-2\IceBuilder_Common\NuGetI.cs:line 41
 at IceBuilder.ProjectHelperFactoryI.get_NuGet() in D:\3.7\ice-builder-visualstudio-2019-2\IceBuilder_Common\ProjectHelperFactoryI.cs:line 23
 at IceBuilder.Package.<InitializeAsync>d__79.MoveNext() in D:\3.7\ice-builder-visualstudio-2019-2\IceBuilder\Package.cs:line 541
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.VisualStudio.Shell.AsyncPackage.<>c__DisplayClass16_0.<<Microsoft-VisualStudio-Shell-Interop-IAsyncLoadablePackageInitialize-Initialize>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.VisualStudio.Threading.JoinableTask.<JoinAsync>d__78.MoveNext()</description>
<guid>{EF9502BE-DBC2-4568-A846-02B8E42D04C2}</guid>
<hr>80131500</hr>
<errorinfo></errorinfo>
</entry>
<entry>
<record>275</record>
<time>2019/09/26 16:25:11.760</time>
<type>Error</type>
<source>VisualStudio</source>
<description>End package load [Package]</description>
<guid>{EF9502BE-DBC2-4568-A846-02B8E42D04C2}</guid>
<hr>80131500</hr>
<errorinfo></errorinfo>
</entry>
</activity>
The SliceCompile
capability is added in zeroc.icebuilder.msbuild package targets files for C# projects, and this extension register a IVsProjectDesignerPageProvider for SliceCompile
capability.
When a project that use zeroc.icebuilder.msbuild
is open if the package has not been restore, the package restore will trigger the addition of this capability, and the fact that this extension register an IVsProjectDesignerPageProvider
for the capability will trigger a project reload that could some times result in a NuGet package error like
Error occurred while restoring NuGet packages: System.InvalidOperationException: The operation failed as details for project helloservice could not be loaded.
at NuGet.PackageManagement.VisualStudio.NetCorePackageReferenceProject.GetPackageSpecsAsync(DependencyGraphCacheContext context)
at NuGet.PackageManagement.DependencyGraphRestoreUtility.<GetSolutionRestoreSpec>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NuGet.SolutionRestoreManager.SolutionRestoreJob.<RestorePackageSpecProjectsAsync>d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at NuGet.SolutionRestoreManager.SolutionRestoreJob.<RestoreAsync>d__16.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at NuGet.SolutionRestoreManager.SolutionRestoreJob.<RestoreAsync>d__16.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NuGet.SolutionRestoreManager.SolutionRestoreJob.<ExecuteAsync>d__15.MoveNext()
Error occurred while restoring NuGet packages: System.InvalidOperationException: The operation failed as details for project server could not be loaded.
at NuGet.PackageManagement.VisualStudio.NetCorePackageReferenceProject.GetPackageSpecsAsync(DependencyGraphCacheContext context)
at NuGet.PackageManagement.DependencyGraphRestoreUtility.<GetSolutionRestoreSpec>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NuGet.SolutionRestoreManager.SolutionRestoreJob.<RestorePackageSpecProjectsAsync>d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at NuGet.SolutionRestoreManager.SolutionRestoreJob.<RestoreAsync>d__16.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at NuGet.SolutionRestoreManager.SolutionRestoreJob.<RestoreAsync>d__16.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NuGet.SolutionRestoreManager.SolutionRestoreJob.<ExecuteAsync>d__15.MoveNext()
Restoring NuGet packages...
With slice2cpp, you can specify the extension of generated header files with the --header-ext
command line option or with the global metadata cpp:header-ext
in the Slice file.
The metadata is useful if you're not using the same header extension for all your Slice files, which should be uncommon. Ice's own Slice files use the metadata directive. This way, if your Slice file includes Ice/Identity.ice
, the generated C++ code for your file will have #include <Ice/Identity.h
> if even if you are using a different header extension for your generated header files.
If you specify the header extension through the slice2cpp command-line option and the metadata directive, the command-line option prevails.
With Ice Builder, you can specify the --header-ext
command-line option (default = h) and Ice Builder uses this information to compute the header file name and include it in the project's Header Files filter. Ice Builder is however unaware of the metadata directives in the Slice file and will not behave properly if you change the C++ header extension through metadata. Having Ice Builder parse Slice files for metadata does not seem practical.
To avoid this problem, Ice Builder should always pass --header-ext
to slice2cpp, even when the default (.h
) extension is selected. This way, the header file generated by slice2cpp will always match Ice Builder's expectations. As of v5.0.1, when the default header extension is selected, Ice Builder does not pass --header-ext
to slice2cpp.
The same discussion and conclusion applies to generated C++ source extension (.cpp
by default). Changing the generated source extension should very uncommon, and furthermore doing so through metadata presents no advantage.
The next release of the Ice Builder for Visual Studio extension should include Slice syntax highlighting. See:
https://github.com/zeroc-ice/vscode-slice
https://msdn.microsoft.com/en-us/library/mt742400.aspx
Using VS 2022 and Ice Builder for 6.0.3 to build the main ice branch (future 3.8).
Starting with:
(works).
the build fails with a confusing error message.
Build started at 4:25 PM...
1>------ Build started: Project: icestormadmin, Configuration: Debug x64 ------
1>Compiling ..\..\Election.ice Generating -> x64\Debug\Election.cpp and x64\Debug\Election.h
1>Compiling ..\..\IceStormInternal.ice Generating -> x64\Debug\IceStormInternal.cpp and x64\Debug\IceStormInternal.h
1>Compiling ..\..\LinkRecord.ice Generating -> x64\Debug\LinkRecord.cpp and x64\Debug\LinkRecord.h
1>Compiling ..\..\LLURecord.ice Generating -> x64\Debug\LLURecord.cpp and x64\Debug\LLURecord.h
1>Compiling ..\..\SubscriberRecord.ice Generating -> x64\Debug\SubscriberRecord.cpp and x64\Debug\SubscriberRecord.h
1>C:\Users\bernard\source\repos\ice\cpp\msbuild\packages\zeroc.icebuilder.msbuild.5.0.9\build\zeroc.icebuilder.msbuild.cpp.targets(85,9): error MSB6003: The specified task executable "slice2cpp.exe" could not be run. Could not find file 'C:\Users\bernard\source\repos\ice\cpp\src\IceStorm\msbuild\icestormadmin\x64\Debug\Election.h'.
1>Done building project "icestormadmin.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 9 up-to-date, 0 skipped ==========
========== Build completed at 4:25 PM and took 00.746 seconds ==========
And indeed Election.h is not generated. All the other header files appear to be there.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2110,5): warning MSB3245: 未能解析此引用。未能找到程序集“Microsoft.VisualStudio.Shell.12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL”。请检查磁盘上是否存在该程序集。 如果您的代码需要此引用,则可能出现编译错误。
1>D:\ice-demos\ice-builder-visualstudio\IceBuilder_Common\IVsProjectExtension.cs(42,39,42,50): error CS0103: 当前上下文中不存在名称“VSConstants”
1>D:\ice-demos\ice-builder-visualstudio\IceBuilder_Common\IVsProjectExtension.cs(64,13,64,25): error CS0103: 当前上下文中不存在名称“ErrorHandler”
1>D:\ice-demos\ice-builder-visualstudio\IceBuilder_Common\IVsProjectExtension.cs(64,63,64,74): error CS0103: 当前上下文中不存在名称“VSConstants”
1>D:\ice-demos\ice-builder-visualstudio\IceBuilder_Common\IVsProjectExtension.cs(73,17,73,29): error CS0103: 当前上下文中不存在名称“ErrorHandler”
1>D:\ice-demos\ice-builder-visualstudio\IceBuilder_Common\IVsProjectExtension.cs(73,67,73,78): error CS0103: 当前上下文中不存在名称“VSConstants”
1>D:\ice-demos\ice-builder-visualstudio\IceBuilder_Common\IVsProjectExtension.cs(93,21,93,33): error CS0103: 当前上下文中不存在名称“ErrorHandler”
1>D:\ice-demos\ice-builder-visualstudio\IceBuilder_Common\IVsProjectExtension.cs(93,75,93,86): error CS0103: 当前上下文中不存在名称“VSConstants”
1>D:\ice-demos\ice-builder-visualstudio\IceBuilder_Common\IVsProjectExtension.cs(272,13,272,25): error CS0103: 当前上下文中不存在名称“ErrorHandler”
You can get this exception when rebuild a .NET Core system project
System.InvalidOperationException: Cannot modify an evaluated object originating in an imported file "C:\Program Files\dotnet\sdk\3.0.100-preview-009812\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.props".
at Microsoft.Build.Shared.ErrorUtilities.ThrowInvalidOperation(String resourceName, Object[] args)
at Microsoft.Build.Evaluation.Project.VerifyThrowInvalidOperationNotImported(ProjectRootElement otherXml)
at Microsoft.Build.Evaluation.Project.RemoveItemHelper(ProjectItem item)
at Microsoft.Build.Evaluation.Project.RemoveItems(IEnumerable`1 items)
at Microsoft.VisualStudio.ProjectSystem.Items.SourceItemsService.<RemoveItemsFromProjectAsync>d__110.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.ProjectItemProviderBase`1.<>c__DisplayClass76_0.<<RemoveAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.ProjectLockService.<ExecuteWithinLock>d__117.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.VisualStudio.ProjectSystem.ProjectLockService.<ExecuteWithinLock>d__117.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.Items.SourceItemsService.<RemoveAsync>d__82.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Microsoft.VisualStudio.ProjectSystem.Designers.PhysicalProjectTreeActionHandler.<RemoveAsync>d__41.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.Designers.PhysicalProjectTreeProvider.<>c__DisplayClass69_0.<<RemoveAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Threading.JoinableTask.<JoinAsync>d__65.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.ProjectLockService.<ExecuteWithinLock>d__115.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.VisualStudio.ProjectSystem.ProjectLockService.<ExecuteWithinLock>d__115.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.Automation.OAProjectItem.<<Delete>b__49_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.Automation.OAProject.<>c__DisplayClass69_0.<<Mutate>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.ProjectNode.<>c__DisplayClass563_0.<<Mutate>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()
at Microsoft.VisualStudio.ProjectSystem.ProjectMultiThreadedService.ExecuteSynchronously(Func`1 asyncAction)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.ProjectNode.Mutate(Func`1 asyncAction, Boolean includesFileSystemChange, String telemetryActivity)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.Automation.OAProject.Mutate(Func`1 asyncAction, Boolean includesFileSystemChange, String telemetryActivity)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.Automation.OAProjectItem.Delete()
at IceBuilder.IVsProjectExtension.DeleteItems(IVsProject project, List`1 paths)
at IceBuilder.ProjectUtil.SetupGenerated(IVsProject project) in D:\3.7\ice-builder-visualstudio\IceBuilder\ProjectUtil.cs:line 473
at IceBuilder.Package.BuildEvents_OnBuildBegin(vsBuildScope scope, vsBuildAction action) in D:\3.7\ice-builder-visualstudio\IceBuilder\Package.cs:line 5891>------ Rebuild All started: Project: client (Glacier2\callback\msbuild\client\client), Configuration: Debug Any CPU ------
1>C:\Program Files\dotnet\sdk\3.0.100-preview-009812\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(142,5): message NETSDK1057: You are using a preview version of .NET Core. See: https://aka.ms/dotnet-core-preview
1>Compiling ../../../Callback.ice Generating -> generated\Callback.cs
1>client -> D:\3.7\ice-demos\csharp\Glacier2\callback\client.dll
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
Hello,
if you are open up an solution in the VisualStudio, the newest Ice Builder for VisualStudio is checking out every .csproj file from the TFS. This happens also if no IceBuilder is even configured in the whole solution. It is not a major error, because the files are not change in any kind of way, but normally a solution should open up without any checkouts.
I think it has something to do with the conversion attempt from old Builder notation in the files to the new one, but this only should be done if there is an conversion necessary and not every single day and with projects which are not using Ice at all.
Best Regards
Simulacrux
Microsoft. VisualStudio.SDK will support targeting 2015 2017 and 2019, this is planed to be released after the GA release of VS2019
After opening a project with Visual Studio for MAC the SliceCompileSource
metadata added by the extension gets removed
- <Compile Update="generated\Hello.cs">
- <SliceCompileSource>../../../Hello.ice</SliceCompileSource>
- </Compile>
After opening a project in Visual Studio 2017 we saw this modifications, we should ensure the extensions always normalize the paths used with this items:
- <SliceCompileSource>../../../Contact.ice</SliceCompileSource>
+ <SliceCompileSource>..\..\..\Contact.ice</SliceCompileSource>
System.OperationCanceledException: The operation was canceled.
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(Int32 hr)
at IceBuilder.IVsProjectExtension.GetProjectItem(IVsProject project, String path)
at IceBuilder.ProjectUtil.TryAddItem(IVsProject project, String path) in D:\3.7\ice-builder-visualstudio-2019-2\IceBuilder\ProjectUtil.cs:line 248
at IceBuilder.ProjectUtil.AddCSharpGeneratedItem(IVsProject project, Project dteproject, String projectDir, String path, String generatedpath) in D:\3.7\ice-builder-visualstudio-2019-2\IceBuilder\ProjectUtil.cs:line 422
at IceBuilder.ProjectUtil.AddCSharpGeneratedFiles(IVsProject project, String file) in D:\3.7\ice-builder-visualstudio-2019-2\IceBuilder\ProjectUtil.cs:line 319
at IceBuilder.ProjectUtil.AddGeneratedFiles(IVsProject project, String file) in D:\3.7\ice-builder-visualstudio-2019-2\IceBuilder\ProjectUtil.cs:line 283
at IceBuilder.DocumentEventHandler.OnAfterAddFilesEx(Int32 projectsLength, Int32 filesLength, IVsProject[] projects, Int32[] indices, String[] names, VSADDFILEFLAGS[] rgFlags) in D:\3.7\ice-builder-visualstudio-2019-2\IceBuilder\DocumentEventHandler.cs:line 209
The synchronous package loading will no longer work with Visual Studio 2019
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.