2016-11-01 9 views
1

Microsoft Z3 .NET API에서 .NET 코어를 처리 할 수 ​​있습니까? 우리는 학교 프로젝트를위한 스케줄링 알고리즘에서이를 사용하고 있으며, 프로젝트가 .net 코어로 업그레이드되면 z3가 작동하지 않을 것으로 생각합니다. .net 코어와 함께 사용되는 z3에 대한 정보는 찾을 수 없습니다.ASP.NET 코어에서 Z3 사용

답변

1

Z3은 .NET 코어에서 사용할 수없는 코드 계약을 사용합니다. 그러나 우리는 그들을 대체하는 더미 클래스를 가지고 있으며 소스 코드와 함께 제공됩니다 (src/api/dotnet/core/DummyContracts.cs 참조). 순간

이 우리의 빌드 인프라의 나머지 부분에 연결되지 않은,하지만 당신은 thusly 히를 구축 할 수 있습니다 :

cd src/api/dotnet/core 
dotnet restore 
dotnet build 

(난 그냥 최선을 다하고으로 소스 코드의 복사본을 업데이트해야합니다 핵심 빌드 수정)

+0

이 오류가 발생하는 이유를 알고 계십니까? 처리되지 않은 예외 : System.DllNotFoundException : 'libz3.dll'DLL을로드 할 수 없습니다 : 지정한 모듈을 찾을 수 없습니다. (HRESULT의 예외 : 0x8007007E) Microsoft.Z3.Native.LIB.Z3_del_context (IntPtr a0) 의 Microsoft.Z3.Context.Finalize() –

+0

에서 Z3은 libz3.dll에 구현 된 네이티브 코드이며 .NET API는 C#에서 구현되었으며, 둘 다 Z3을 사용하는 프로그램을 실행해야합니다. 그러면 Microsoft.Z3.dll은 Z3 함수에 대한 첫 번째 호출에서 libz3.dll을 찾습니다. 오류 메시지는 libz3.dll을 찾을 수 없다는 것을 의미합니다. Windows에서는 PATH에 있어야하며, 빌드 할 때 일반적으로 "빌드"디렉토리에 상주합니다. –

관련 문제