| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [View Raw Code] [Original HTTPS Page] |
Commands and traps. Symptom-first table: .agents/skills/build/SKILL.md. Test coverage by area: test-matrix.md (Current gaps first). Do not invent MSBuild flags.
Compile the csproj you changed. Deploy/repack -p:…=false only for projects with UseRevit / UseAutoCad (or their own ILRepackable=true). Shared DevTools.* does not import those targets — omit the props. Details: .agents/skills/build/SKILL.md.
# Shared library
dotnet build <path/to/DevTools.*.csproj> -c Debug
# Host entrypoint (compile only)
dotnet build source/RevitDevTool/RevitDevTool.csproj -c Debug.Autodesk.2025 -p:DeployRevitAddin=false -p:DeployAutoCadBundle=false -p:ILRepackable=false| Project kind | Config |
|---|---|
| UseRevit / UseAutoCad | Debug.Autodesk.2025 (spot-check 2022 + 2027 if TFM-sensitive) |
| Shared multi-TFM DevTools.* | Debug |
| build/ / install/ | Release |
Host API matrix (all years): build-matrix.md.
| Situation | Command |
|---|---|
| File lock / deploy failed | scripts/kill-host.ps1 -HostApp Revit -Year <year> |
| Build + deploy one year | Stop only that year; scripts/build-host.ps1 -Year 2025 |
| .NET tests | dotnet run --project tests/<project>/<project>.csproj |
| Execution tests | dotnet run --project tests/DevTools.Execution.<Scope>.Tests/DevTools.Execution.<Scope>.Tests.csproj (CSharp, FSharp, Python, IronPython, Pytest, Mcp, Services). Coverage: -- --coverage --coverage-output-format cobertura --coverage-settings coverage.xml |
| MCP tests | dotnet run --project tests/DevTools.Mcp.<Module>.Tests/DevTools.Mcp.<Module>.Tests.csproj (Core, Catalog, Adapter, Client, Server) |
| Python parser (this repo) | scripts/test-python.ps1 |
| Installer / bundle | scripts/pack.ps1 |
| TestAdapter NuGet | scripts/pack-test-adapter.ps1 (writes output/nuget, deletes the extracted global-packages copy of that version) |
| TestAdapter consumer surface (net48 / net8 / net10 build + host-free discovery) | scripts/test-adapter-matrix.ps1 |
| Daemon publish | dotnet publish source/DevTools.Daemon -c Release |
Build sample toolsets before parser/spike tests — see test-matrix.md.
| Change type | Minimum proof |
|---|---|
| Refactor / local fix | Compile touched projects |
| Wire contract / parser | + focused test project (check gaps table first) |
| MCP daemon/host surface | + mcp-integration-test.md when host available |
Passing smoke tests ≠ live host proof. Name blockers with test name + missing path.
When investigating host or MCP failures, read the newest log for the process under test — do not guess paths.
| Process | Default folder | Newest file |
|---|---|---|
| Host startup crash (add-in failed to load) | %APPDATA%\RevitDevTool\{Year}\Logs\ | Highest LastWriteTime matching crash_* |
| Host session (Revit / AutoCAD) | %APPDATA%\RevitDevTool\{Year}\Logs\ | Highest LastWriteTime matching log_* (.log or .json) |
| Daemon | %APPDATA%\RevitDevTool\logs\ | Highest LastWriteTime matching log_*.log |
{Year} is the host product year (e.g. 2025). Host folder may differ if the user changed Settings → Logging; Daemon always uses logs\ (Logging:File). Match PID in the filename when several sessions are open. AutoClean deletes log_* only — crash_* stays until you delete it.
# Add-in failed during OnStartup / ApplicationInitialized
Get-ChildItem "$env:APPDATA\RevitDevTool\2025\Logs\crash_*" |
Sort-Object LastWriteTime -Descending | Select-Object -First 1
# Host session logs (adjust year)
Get-ChildItem "$env:APPDATA\RevitDevTool\2025\Logs\log_*" |
Sort-Object LastWriteTime -Descending | Select-Object -First 1
# Daemon
Get-ChildItem "$env:APPDATA\RevitDevTool\logs\log_*.log" |
Sort-Object LastWriteTime -Descending | Select-Object -First 1
# Both trees — list 50 newest under %APPDATA%\RevitDevTool
scripts/collect-logs.ps1Reproduce the failure before collecting; cite log path + relevant lines in the report.
samples/PythonDemo/revit_dashboard_ui/: npm run quality
| Back | FazBrowse Home | New Git URL |