Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

An exception occurred while invoking executor 'executor://mstestadapter/v2': Could not load file or assembly 'System.IO, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' #295

Closed
northtyphoon opened this issue Oct 20, 2017 · 52 comments
Assignees

Comments

@northtyphoon
Copy link
Member

Description

The test output includes "System.IO 4.1.2.0" and the following binding redirect in TestAssembly.dll.config

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
  </dependentAssembly>
</assemblyBinding>

The test passed in Visual Studio. However, the test failed in the build machine as the following error.

An exception occurred while invoking executor 'executor://mstestadapter/v2': Could not load file or assembly 'System.IO, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies

I also notice if I manually removed TestAssembly.dll.config from the output folder, the test started to pass in the build machine.

Steps to reproduce

In VSTS build, run the latest Visual Studio Test task.

Expected behavior

Test pass.

Actual behavior

2017-10-19T23:47:12.3630779Z Starting test execution, please wait...
2017-10-19T23:47:19.4800462Z Error: An exception occurred while invoking executor 'executor://mstestadapter/v2': Could not load file or assembly 'System.IO, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
2017-10-19T23:47:19.4800462Z

Environment

Operating system : WS2016
VS2017 15.4.1
Visual Studio test runner 2.1.15

Package version of MSTest:
"MSTest.TestAdapter" Version="1.2.0"
"MSTest.TestFramework" Version="1.2.0"

@kant2002
Copy link
Contributor

If this is just some binding redirect issues, it will greatly benefit from increased logging with information which test assembly could not be loaded, since that alone greatly speedup troubleshooting. I hit similar issue in the past where binding redirects was required by the test.

@Izzmo
Copy link

Izzmo commented Oct 24, 2017

@kant2002

it will greatly benefit from increased logging with information which test assembly could not be loaded

Okay... you might want to enlighten us how one would do this :)

@AbhitejJohn
Copy link
Contributor

To get more logs from the CI pipeline, could you set System.Debug in the Build definition to true and share the build logs with us please?

If you could repro this locally using vstest.console, then it would also help to enable vstest.executionengine*.exe.config logging. Here is how you can enable that.

I think we need to add a troubleshooting section in testfx-docs to help get more logging.

@codito
Copy link
Contributor

codito commented Oct 26, 2017

I think we need to add a troubleshooting section in testfx-docs to help get more logging.

Added docs for collecting traces in CI task here: https://github.com/Microsoft/vstest-docs/blob/master/docs/diagnose.md#collect-trace-in-vsts-ci-vstest-task

@northtyphoon
Copy link
Member Author

Thanks for the troubleshooting guide to collect detail trace. I will try to get more logs and post back later.

@northtyphoon
Copy link
Member Author

I enabled system.debug.

2017-10-31T21:44:42.7837155Z Microsoft (R) Test Execution Command Line Tool Version 15.0.26929.2
2017-10-31T21:44:42.7837155Z Copyright (c) Microsoft Corporation. All rights reserved.
2017-10-31T21:44:42.7837155Z
2017-10-31T21:44:43.2496697Z Starting test execution, please wait...
2017-10-31T21:44:47.4338786Z Error: An exception occurred while invoking executor 'executor://mstestadapter/v2': Could not load file or assembly 'System.IO, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
2017-10-31T21:44:47.4338786Z
2017-10-31T21:44:47.8549250Z
2017-10-31T21:44:47.9249367Z Information: Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
2017-10-31T21:44:47.9249367Z
2017-10-31T21:44:47.9489567Z ##[debug]rc:1
2017-10-31T21:44:47.9489567Z ##[debug]success:false
2017-10-31T21:44:47.9509367Z ##[debug]rm -rf E:\A_work_temp\b3938700-be84-11e7-91e2-b52a751f8768.runsettings
2017-10-31T21:44:47.9509367Z ##[debug]removing file
2017-10-31T21:44:47.9509367Z ##[warning]Vstest failed with error. Check logs for failures. There might be failed tests.
2017-10-31T21:44:47.9509367Z ##[debug]Processed: ##vso[task.issue type=warning;]Vstest failed with error. Check logs for failures. There might be failed tests.
2017-10-31T21:44:47.9509367Z ##[debug]Release.ReleaseUri=undefined
2017-10-31T21:44:47.9509367Z ##[debug]Release.ReleaseId=undefined
2017-10-31T21:44:47.9509367Z ##[debug]Build.BuildUri=vstfs:///Build/Build/1101004
2017-10-31T21:44:47.9509367Z ##[debug]Build.Buildid=1101004
2017-10-31T21:44:47.9509367Z ##[debug]Agent.Version=2.120.2
2017-10-31T21:44:47.9509367Z ##[debug]telemetry area: TestExecution feature: TestExecutionTask data: {"builduri":"vstfs:///Build/Build/1101004","buildid":"1101004","areacode":"ExecuteVsTest","result":"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe failed with return code: 1","tracepoint":1005,"isusererror":true}
2017-10-31T21:44:48.4491707Z ##[debug]Processed: ##vso[telemetry.publish area=TestExecution;feature=TestExecutionTask;]{"builduri":"vstfs:///Build/Build/1101004","buildid":"1101004","areacode":"ExecuteVsTest","result":"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe failed with return code: 1","tracepoint":1005,"isusererror":true}
2017-10-31T21:44:48.4491707Z ##[error]Error: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe failed with return code: 1

@jayaranigarg
Copy link
Member

@northtyphoon : Can you check which version of System.IO.dll is present in TestRun folder in both machine(one with VS installed and build machine) and let us know.

Also, instead of hard-coding the assembly binding redirects in app.config, can you add this in your *.csproj

<PropertyGroup>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>

This will generate a *.dll.config which will have the appropriate assembly binding redirects. See if things work for you after this change.

@Mertsch
Copy link
Contributor

Mertsch commented Nov 1, 2017

@JayJanarthanan I have two different Test-Projects both with automatic binding redirect.
Both do copy the same System.IO.dll to their output directory.
Both have the following binding redirect

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
  </dependentAssembly>
</assemblyBinding>

One works fine, one has the error mentioned above

2017.11.01 14:40:20.779   ERROR An item with the same key has already been added.
2017.11.01 14:40:20.832   ERROR An exception occurred while invoking executor 'executor://mstestadapter/v2': Could not load file or assembly 'System.IO, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

@jayaranigarg
Copy link
Member

@Mertsch : Can you please share repro projects with us?

@Mertsch
Copy link
Contributor

Mertsch commented Nov 2, 2017

@jayaranigarg No I can not, but I found the root cause for this issue.
There is a difference between the normal project output and DeploymentItem output.

I have a fairly complex solution with a lot of dependencies on other projects and frameworks, like the .NET Standard 2.0 library and EF Core (from .NET Framework 4.6.1 projects) and the <project>\bin\Debug folder of set projects contain all required .dlls from all dependencies.

But whenever I specify any DeploymentItem, my <SolutionDir>\TestResults\Deploy_User 2017-11-02 18_24_42\Out contains only a limited set of dependencies.

The System.IO is simply missing from the \Out dir.

@Mertsch
Copy link
Contributor

Mertsch commented Nov 3, 2017

@jayaranigarg I was now able to nail down the issue
Demo repo is here https://github.com/Mertsch/testfxIssues295

So what is the issue?

In my demo I have referenced a .NET Standard 2.0 library https://www.nuget.org/packages/fm.Extensions.Common/
this causes the project output (\bin\Debug) to contain System.IO.dll and the appropriate binding redirects. Note these references are added implicitly! There is no direct reference to System.IO and they are only added to the project output because a .NET Standard 2.0 library is referenced.

If you now specify any DeploymentItem, the \TestResults\Deploy\Out directory contains an incomplete set of assemblies, but still retains the binding redirects.

Which leads to NormalTests to run fine on their own
image

But together with DeploymentItem, they all fail
image

@jayaranigarg
Copy link
Member

@Mertsch : Can you move to latest Visual Studio Preview and see if it works for you...
It is working fine for me with latest VS installed..

@Mertsch
Copy link
Contributor

Mertsch commented Nov 6, 2017

@jayaranigarg No, I will stay with the release version (15.4.2), but report back as soon as 15.5 is out

@AndersMalmgren
Copy link

I have ran into this exception too on our build server and local when not using resharper test runner.
System.IO.dll is present in Bin/debug, but its not presented in the testrunner folder. So it fails to copy

.NET Core 2.0 project targeting net47. TestFramework and TestAdapter at 1.2

Any thoughts?

@AndersMalmgren
Copy link

AndersMalmgren commented Nov 14, 2017

Ok, so auto binding redir. fails to add System.IO into the resulting app.config in output folder

  <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
  <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>

@AndersMalmgren
Copy link

Updated to 15.4.4, no dice

@jayaranigarg
Copy link
Member

@AndersMalmgren : Can you please explain your scenario in detail and share your repro project with us?
If you have DeploymentItem attribute on tests, in that case we do not copy System.*.dll to testrun folder and they are actually picked up from GAC at runtime.

@AndersMalmgren
Copy link

We have the attribute, if I add DeploymentItem(@"System.IO.dll") it works. Is this by design?

@AndersMalmgren
Copy link

My workaround above works on my machien, but when build server is building and running tests I get

Error: An exception occurred while invoking executor 'executor://mstestadapter/v2': Method not found: 'System.String Microsoft.VisualStudio.TestTools.UnitTesting.IgnoreAttribute.get_IgnoreMessage()'.

@AndersMalmgren
Copy link

THere is a ton of missing files in the Out folder, here you see the out folder on the left and bin/debug on the right.

Foo

Then it takes from the GAC which is of wrong version adn I get above message. (Is my guess). So how can i get it to includde everything in build folder?

@AndersMalmgren
Copy link

I thought I had created a repro, net47 target platform plus DeploymentItem attribute, the repro fails inside our sln, but when I move the repro to a stand alone blank sln it does not fail anymore. So there is a third unknown factor here

@jayaranigarg
Copy link
Member

jayaranigarg commented Nov 20, 2017

@AndersMalmgren : What do you mean by ".NET Core 2.0 project targeting net47" ? Did you mean that you created a .net core test project and changed the target framework to net47 OR you created a .net core test project and multi-targeted it to netcoreapp2.0 and net47 ?

Error: An exception occurred while invoking executor 'executor://mstestadapter/v2': Method not found: 'System.String Microsoft.VisualStudio.TestTools.UnitTesting.IgnoreAttribute.get_IgnoreMessage()' usually happens when adapter and framework versions mismatch. Make sure all the projects in your solution are using same version of both framework and adapter i.e.1.2.0 (in your case).

Why exactly are you trying to run your tests from a different location(i.e. Out folder) and why not from bin/Debug?

I think there is some confusion in the concept of [DeploymentItem] attribute. It is generally used when you want to sandbox your tests to run from a particular location deploying very specific versions of dlls and other dependencies. In your case, I think you can run tests from bin/Debug itself, and drop any required files to bin/Debug itself by setting CopyLocal to true.
PS: [DeploymentItem] is a no-op in case of netcore projects.

@AndersMalmgren
Copy link

I'm not trying to run it outside of bin/debug. mstest does that when it detects a DeploymentItem attribute. But if I create a blank solution and add a .net core test project targeting net47 I do not get the same behavior. Then its run under bin/debug and everything works. Its a third factor at play which I cant find.

@jayaranigarg
Copy link
Member

@AndersMalmgren : Instead of using DeploymentItem attribute in your solution, can you instead set CopyLocal to true for the files that you need to get dropped in bin/Debug? Effectively we want to check if tests are running fine from bin/Debug for your original solution.

Can you edit your csproj (i.e. .net core test project targeting net47 , the one mentioned in above comment), and let us know what value is present in value tag ?

@AndersMalmgren
Copy link

@jayaranigarg The DeploymentItem attribute is no longer needed since it run correctly under bin/debug. So it solves my problem (DeploymentItem was needed with the old mstest runner). But it seems you have a bug. If DeploymentItem is present, it runs under "Out" instead and alot of files are not copied. Not only System.* but others too. Like my screenshot above suggests.

I will check in my removal of DeploymentItem and see if it runs also on our build server agent (visualstudio.com)

@AndersMalmgren
Copy link

Nope, it works on my machine, but not on the build agent

Error: An exception occurred while invoking executor 'executor://mstestadapter/v2': Method 'get_Arguments' in type 'Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestMethodInfo' from assembly 'Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' does not have an implementation.

@JP-CZ
Copy link

JP-CZ commented Dec 19, 2017

I want to rate this up as this is preventing us from running unit tests on some machines. We have a test project which references a dotnetcore 2.0 assembly, along with other dotnet fw 4.6.1 assemblies. Is there a solution for this problem? Anything to solve this assembly redirect thing? It seems there is another addition to the DLL hell :)

@AndersMalmgren
Copy link

As a senior system architect I can tell you this @jayaranigarg, when a SDK steals hours of a dev's time something is fundamental wrong with the design of it. And it seems many are coming here, you need to make sure this errors is fixed, or provide better log info, or make sure in other ways people do not spend hours and hours on it.

@jayaranigarg
Copy link
Member

@JP-CZ : Did you try adding lines mentioned in this comment in your *.csproj #295 (comment)

Do you also have [DeploymentItem] attribute on your tests? If so, then instead of using DeploymentItem attribute in your solution, can you instead set CopyLocal to true for the files that you need to get dropped in bin/Debug? Effectively we want to check if tests are running fine from bin/Debug for your original solution.

If possible, can you share a repro project with us?

@jayaranigarg jayaranigarg reopened this Dec 19, 2017
@jayaranigarg
Copy link
Member

@AndersMalmgren : Thank you for your feedback. We will surely try to improve upon it.

@JP-CZ
Copy link

JP-CZ commented Dec 19, 2017

Yes we added these lines in all of our projects. It clearly caused by the DeploymentItem attribute on the test method. This worked until now. Problem is we have many tests using this attribute to provide test data during test execution. Is this pattern no longer supported? Is unclear to me how this attribute effects what kind of files are deployed or where tests are run.

@jayaranigarg
Copy link
Member

@JP-CZ : Until when was this working for you and after what change/upgrade did this stop working?

Normally, tests are ran from bin/Debug folder. If you want some of your project files to be dropped in bin/Debug, then simply setting CopyLocal to true does the job.

[DeploymentItem] attribute is needed when you want to sandbox your tests to run from a particular location(other than bin/Debug) deploying very specific versions of dlls and other dependencies. In this case, not all the files present in bin/Debug are deployed to the new testrun location and are picked up from VS install locations.

@tfabraham
Copy link

@jayaranigarg: you keep telling us either 1) not to use DeploymentItem or 2) that it's needed when you want to sandbox your tests... but when DeploymentItem is present anywhere in the test suite, the entire suite is unusable due to the binding issues. This is not just a documentation issue, there is a bug that needs to be fixed.

There are thousands of test suites out there using DeploymentItem that are upgrading to the new project format and starting to pull in .NET Standard dependencies. Due to no fault of our own, they simply blow up with these obscure errors after the upgrade. I hope that is not an acceptable outcome to your team!

@jayaranigarg
Copy link
Member

@tfabraham : Apologies for the inconvenience. Let us dig deeper in this and figure out a better solution/fix for this issue.

@adamdriscoll
Copy link

I just encountered this issue as well. 1.5.5 VS and 1.3.0-beta2 of the test adapter\test framework

@EwaldStricker
Copy link

EwaldStricker commented Feb 28, 2018

Same issue solved by using as reference

  • "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssemblies\v4.0\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll" Version 10.0.0.0
    not
  • "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssemblies\v2.0\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll" Version 10.1.0.0

Or solved by uninstalling package

  • MSTest.TestAdapter and MSTest.Testframework Version "cant remember"
    and install package
  • MSTest.TestAdapter and MSTest.Testframework Version 1.1.18

@cltshivash cltshivash added the bug label Mar 16, 2018
@cltshivash cltshivash self-assigned this Mar 16, 2018
@ivonin
Copy link

ivonin commented Mar 17, 2018

So, is there a work-around so we can use the 1.3.0-beta2 version? I have the same issue after trying to upgrade my project to this version of Framework and Adapter packages.

Upgrade did generate a bunch of binding redirects, but they don't seem to help the issue.

@ivonin
Copy link

ivonin commented Mar 17, 2018

Hmm, removing the bindingredirects seems to work as a work-around.

@EwaldStricker
Copy link

Workarround:

@cltshivash
Copy link
Contributor

The problem of binding redirects getting added is similar to issue #241 . We are following up with the Nuget team on this on the fix to be done. There's another issue when the deploymentitem attribute is used in which we do a selective copy of the dlls. We will fix that issue by copying whatever is present in the output location of the test source.

@cltshivash
Copy link
Contributor

cltshivash commented May 9, 2018

@AndersMalmgren @tfabraham

There are two issues in this case.
1 -> With assembly redirects present in the app.config of a test project the redirected assembly is not present in the output folder of the test assembly leading to a version being picked from GAC which then fails. This was followed up on the nuget repo and the fix for this issue is to use package references. With VS 15.7 (right click on Project -> References should give you the option) Please check if this helps.

For more details please refer to the issue on the nuget repo.
NuGet/Home#6723

2 -> The set of dlls being used is subset of the ones used from bin/debug. We have a PR which will copy the content of bin/debug to the test deployment folder #391

@zootyzoot
Copy link

I was able to solve this in my project by forcing Visual Studio to not use testhost.x86.exe

To do this,

  1. open the Test menu from the toolbar
  2. select Test Settings,
  3. click on Default Processor Architecture
  4. select x64

If you run vstest.console.exe by command-line you can send /Platform:64

@cltshivash
Copy link
Contributor

@AndersMalmgren @tfabraham Please let us know if the provided workaround helps.

@EwaldStricker
Copy link

EwaldStricker commented Jun 4, 2018 via email

@MisinformedDNA
Copy link

I'm hitting this issue as well in VSTS. All my projects use the .NET Core project format. PackageReference is used everywhere. The one project that fails is the one with DeploymentItems. I was using the VsTest task and it kept failing. I switched to dotnet test and it passed. Maybe that will help someone.

@rossng
Copy link

rossng commented Jul 11, 2019

This caveat should be documented here, the first search result for DeploymentItem.

andyward added a commit to xBimTeam/XbimGeometry that referenced this issue Sep 22, 2019
Wasn't running tests in VS test runner due to "An exception occurred while invoking executor 'executor://mstestadapter/v2': Could not load file or assembly 'System.IO,"

Since we introduced DeploymentItem, we were impacted by microsoft/testfx#295
andyward added a commit to xBimTeam/XbimCobieExpress that referenced this issue Oct 9, 2019
Added runsettings needed to run tests locally in VS2019
(due to presence of DeploymentItem and github.com/microsoft/testfx/issues/295 )
CBenghi added a commit to xBimTeam/XbimGeometry that referenced this issue Oct 23, 2019
According to microsoft/testfx#295 the use of
DeploymentItem tag should be reserved for special folder scenarios, and
it resulted in most tests not being run on local and remote machines.
CBenghi added a commit to xBimTeam/XbimEssentials that referenced this issue Oct 24, 2019
The testing behaviour of net47 has changed and there were outstanding
issues of local run
See microsoft/testfx#295 and
https://github.com/microsoft/testfx-docs/blob/master/RFCs/009-DeploymentItem-Attribute.md

[DeploymentItem] should not be used anymore in VS2019.
guenter1holzeder added a commit to OrcaIfc/XbimGeometry that referenced this issue Oct 29, 2019
* Test added for Radian Parameters over PI in value

* Updated MemoryModel package to handle radian conversion factors correctly Github xBimTeam#92 issue

* Fixing issue xBimTeam#145

using filtering of representation items instead of finding first only

* Some corrections for fix xBimTeam#145

Evaluation wasn't triggered because there was no consumer of stream

* Fix for imprecisely defined planar wires github issue xBimTeam#73
Fix for SurfaceBaseModels being defined as multiple solids

* Extruded area solids with compound profiles treated to return a solid set

* Fixing issue xBimTeam#158

Second operand has never been added to difference build chain.
Refactored IfcBooleanClippingResult to XbimSolidSet conversion.

* Experimental: Changed ProjectTarget to 8.1 which should support Win 7SP1 clients

* Added targetver to set WINVER as per
https://docs.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt?view=vs-2017

This is to support Win 7SP1 runtimes.

* Update azure-pipelines.yml for Azure Pipelines

Removed tests

* removed target.h

* Updated Nuget dependencies

* Geometry engine unreferenced after tests completed

* Workaround for boolean precision removed xBimTeam#166

* Fix for excessively large solid extrusions xBimTeam#160

* Fix for Ifc4 Add2 IfcTriangulatedFaceSet not rendering  xBimTeam#167

* Fix for inaccurately defined IfcPolyloops that are not planar

* Faceted Face set re-implemented to support tolerances better

* Threading Model changed to avoid race conditions, boolean cut ops optimised for non-intersecting arguments

* Composite curve reimplemented to correctly handle polylines as edges

* IndexedPolyCurve implemented as curve

* Fix for orientation of trimmed composite curve segments that are reversed

* IfcSweptDiskSolidPolygonal fixed for closed directrix.
XbimWire trim fixed for incorrect parameterisation

* Composite Curve as wire added

* IfcSectionedSpine fixed incorrect orientation error

* Non-Intersecting cuts not returning the body shape resolved

* Erro in booleans caused by Solids created from two coincidental faces fixed

* Trimming of compound curve wire fix

* Support for IIfcPolygonalFaceSet commenced

* Support for 2D Polylines as curves added

* Closed Shell chnaged to allow faulty solids with zero volume

* Undone zero volume closed shells

* Support for IfcPolygonalFaceSet completed.
Very large facesetsare meshed rather than OCCed to prevent extremely slow performance

* Reinstate tests now stabilty issue fixed

* Closed Seep for swept disk solid fixed

* Removed last traces of the large file

* Adding axis tags to logging output for convenience

* Adding fix for zero grid bounding box in CreateGrid

assuming that the bounding box has a zero Z-extent. Does this hold?

* Fix for unsupported curve type issue xBimTeam#180

* SweptDiskSolid fixed to align sweep with directrix direction

* Interval Points for Wire fixed to include last point
Composite curve wires now allow partial curves where segments are badly specified, a warning is issued rather than a failure error

* Support for composite curves containing multi-edge segments added

* Continue IfcGrid construction on exception

* Fixing pipe maker tolerance issue

* Half Space solid reimplemented with OCC MakeHalfSpaceSolid
Polygonally bound half space amended to construct semi-infinite prism
Fuzzy value for booleans increased to 6*tolerance
Max faces to sew increased to 3000

* Grid creation fixed for errors on building lines with near precision thickness

* Polygonal bounded half space corrected for potential boolean hangs with large extrema.
Edge start and end points fixed to handle null vertices

* Empty profile definition handled, polygonally bounded half space extrusion limited to prevent booleans hanging, compositve curve creation handles incorrect reverse segment definition

* References update to Master Nuget dependencies
Warnings fixed

* No change

* Minor readme update for VS versions

* Added extra tests to help with failing CI test

* Updated to 5.1 RTM essentials

* Added changelog for 5.1

* Update build for 5.1

* Fixed changelog typo

* Added changelog for 5.1

* Update build for 5.1

* Fixed changelog typo

* Updated to 5.1 version data.
Removed FileVersion so stamped by build

* Updated to latest pre-release 5.1 dependencies

* Updated latest RTM dependencies
(with fileversions)

* Updated 5.1 dependencies (xBimTeam#187)

* Updated latest RTM dependencies
(with fileversions)

* Release 5.1 with 5.1 AssemblyVersion (xBimTeam#188)

* Added changelog for 5.1

* Update build for 5.1

* Fixed changelog typo

* Updated to 5.1 version data.
Removed FileVersion so stamped by build

* Updated to latest pre-release 5.1 dependencies

* Updated latest RTM dependencies
(with fileversions)

* Confirmed release number

* Regression causing incorrect clipping of HalfSpaceSolids fixed

* Partial fix for incorrectly parameterised Polyline trims, further work is required to correctly implement Composite and Polyline curve trims when the BIM authros start to correctly write out the parameter values

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Extended CI build timeout from default (60 minutes) to 120 minutes

* Trying to fix pipeline with explicit definition of the job name

* Trying to fix pipeline with extended timeout

* Trying to fix the pipeline

* Creation of solid sets from IfcPolygonalFaceSet added

* Create Method for IfcPolygonalFaceSet amended to respect closed shells

* Updated Essentials to Release

* Attempt to fix large coordinates by reducing them and only keeping the transformation.

* Updated Tessellator

* Updated tessellator fixes shape bounding box position. Fixed transformation of the product bbox for region computation.

* Updated Essentials

* Added explicit test runsettings to help with failing tests

* Update azure-pipelines.yml for Azure Pipelines

Add runsettings

* Refactored tests to use paths relative to deployed items.

* Only deploy the native DLL for the current platform

Means that consumers only get the native DLL appropriate to their current platform build (x86/x64)
Fixes xBimTeam#216

* Better management of trims for IIfcSweptDiskSolid

Typically used for rebars.

* Tests was expecting wrong number of faces.

* Resumed caching to help see files in Xplorer.

When /caching is issued as parameter, the files are persisted as in xbim
format so they can be seen in xplorer to check the results of meshing.

* Tolerant of missing Z coordinate for some 3D pts.

* More cases of Z missing tolerance.

by code analysis, given a bug with unusual IFC files.

* Cutting wires of IIfcCompositeCurve only if needed

* Closed profile definitions with no outer profile caught and ignored

* Fix for OCC infinite loop in ShapeHealing
Time out added to ShapeHealing and Boolean Performs

* All shape healing functions protected with a timeout

* Fixed local tests runs

Wasn't running tests in VS test runner due to "An exception occurred while invoking executor 'executor://mstestadapter/v2': Could not load file or assembly 'System.IO,"

Since we introduced DeploymentItem, we were impacted by microsoft/testfx#295

* Copy both native files when building for AnyCPU

Broken fixing xBimTeam#216

* Added Test for Advanced Brep failure

* Added additional guard to be more tolerant when processing models without valid Contexts supplied.

Should address xBimTeam/XbimWindowsUI#94

* More graceful handling of representations without a ContextOfItems. These are in violation of the specs but we should support them better.

E.g. 2x3_Arboleda_Bldg-Arch.ifc

* Going for green.
Ignore an unimplemented test in this branch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests