diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/apax-lock.json b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/apax-lock.json
index aa253605..864982e9 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/apax-lock.json
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/apax-lock.json
@@ -1,111 +1,92 @@
{
"@ax/apax-build": {
- "version": "0.5.0",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/apax-build/-/apax-build-0.5.0.tgz",
- "integrity": "sha512-6p9iZQfpmngx38r4p6XaVVPeEQzTt3UJcywsRSeVBnES6tx1pTVLM20K0RczqRYZmXbyNpz9effPxpvj5L/jKA==",
- "dependencies": {
- "@ax/third-party-licenses-apax-build": "0.5.0"
- }
+ "version": "0.7.0",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/apax-build/-/apax-build-0.7.0.tgz",
+ "integrity": "sha512-OkmqLq6SI0gv9x/7FLFmABuJYylHHyOzZ4Kvmfys2RGiP06/WbOpycmuqYBneK1zAe3KoBu8ZmelPdXbxcK4+w=="
},
"@ax/axunit": {
- "version": "2.0.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/axunit/-/axunit-2.0.8.tgz",
- "integrity": "sha512-pRM+X++jrS2n/dwBJBuyTtVAL0aQxrYjhbk7Xw3IdpT0aIX4L1DF8S+ftrt6V06HpcatgKhCttOSnpR8nECNzQ==",
- "dependencies": {
- "@ax/axunit-docs": "2.0.8",
- "@ax/axunit-library": "2.0.8",
- "@ax/axunit-llvm-runner-gen": "2.0.8",
- "@ax/axunit-runner-llvm": "2.0.8",
- "@ax/axunit-runner-mc7plus": "2.0.8",
+ "version": "4.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit/-/axunit-4.0.6.tgz",
+ "integrity": "sha512-zuXuKxqHeP0fdn2cG/CbpogjYAweIwBKpDwZzSrzTG9tCM/axK/c3MZ/+DUN8aINdcyy0NdWTX6Z7kaU68nQBA==",
+ "dependencies": {
+ "@ax/axunit-docs": "4.0.6",
+ "@ax/axunit-library": "4.0.6",
+ "@ax/axunit-llvm-runner-gen": "4.0.6",
+ "@ax/axunit-runner-llvm": "4.0.6",
+ "@ax/axunit-runner-mc7plus": "4.0.6",
"@ax/build-native": "10.1.1",
- "@ax/target-axunit": "2.0.8",
- "@ax/third-party-licenses-testingframework": "2.0.8"
+ "@ax/target-axunit": "4.0.6"
}
},
"@ax/axunit-docs": {
- "version": "2.0.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/axunit-docs/-/axunit-docs-2.0.8.tgz",
- "integrity": "sha512-uY9BbmqbvIOdBlAs7RYrFJH85R1/hsbZ248/NrdeFMdqToJPkQkjERENlXfN+Iz6+HjM60+D3Lz1MqVY6v69OA==",
- "dependencies": {
- "@ax/third-party-licenses-testingframework": "2.0.8"
- }
+ "version": "4.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-docs/-/axunit-docs-4.0.6.tgz",
+ "integrity": "sha512-IjZke615I44O7NzPO3nuMzPyaaw6lwZ0zxNjNiNqqegITz7BTxhYfRsNEK2EUISc4S3c9f1vY6oT9AuY/cqm6g=="
},
"@ax/axunit-library": {
- "version": "2.0.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/axunit-library/-/axunit-library-2.0.8.tgz",
- "integrity": "sha512-6yVIj8gXTHx4YVTxBYXqJ3q38N0KZe0GXnpyA1xXIapvjFT6Rm1S4WqylYng8M4cgsRfEMRGkzq2HSeIlqUzwQ==",
- "dependencies": {
- "@ax/third-party-licenses-testingframework": "2.0.8"
- }
+ "version": "4.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-library/-/axunit-library-4.0.6.tgz",
+ "integrity": "sha512-sgg1SNngQ9lTP/v8e+AyZq6hCf+563P3S4xep6uCdHIZMmW9GYkvKTjh56+ZKQMpGFrcr9Sn0Aw6dE7mbINwXg=="
},
"@ax/axunit-llvm-runner-gen": {
- "version": "2.0.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/axunit-llvm-runner-gen/-/axunit-llvm-runner-gen-2.0.8.tgz",
- "integrity": "sha512-CLLqMBSrCCVJwSnP4fvBYC2i18rpcRFbblVzkyU1ITPqaIJXFVjz21jYiaZO5nJnq0FMsOS1U9hhMxAEV4OgYw==",
- "dependencies": {
- "@ax/third-party-licenses-testingframework": "2.0.8"
- }
+ "version": "4.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-llvm-runner-gen/-/axunit-llvm-runner-gen-4.0.6.tgz",
+ "integrity": "sha512-yL9TSEvBX1Wu5ohFAm07XRQfOHPUmHm6D17CB09mVssYec2VcBl1ORmqomVxTQhGVO4Zxsv5t+qgtBMx+/aytQ=="
+ },
+ "@ax/axunit-ls-contrib": {
+ "version": "4.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-ls-contrib/-/axunit-ls-contrib-4.0.6.tgz",
+ "integrity": "sha512-BNES+gbcdqEnkzyNeEBnl35Vx8ABkaZOoMdTiiK4ffFy5Y51lY7ZLy9YXQdrvCev8b5xhViWlQMljLSiMRtyZA=="
},
"@ax/axunit-runner-llvm": {
- "version": "2.0.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/axunit-runner-llvm/-/axunit-runner-llvm-2.0.8.tgz",
- "integrity": "sha512-3NUAtjSQymxtQejhgTp8Psr3S46VFpo6Rp9/8dO2pAU4WST57/LlVkHmWixBUlwYJH7wkZrbylpqirg9Hde6/A==",
+ "version": "4.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-llvm/-/axunit-runner-llvm-4.0.6.tgz",
+ "integrity": "sha512-YMt1iet7rDxV0sDF0DDoLBmFZZ7O+qW3JhP4faUiOwJRy0GLkyrjYbVuMkOJAeScu4pykgjUe0yNjLZ9c/Nlxw==",
"dependencies": {
- "@ax/axunit-runner-llvm-linux-x64": "2.0.8",
- "@ax/axunit-runner-llvm-win-x64": "2.0.8",
- "@ax/third-party-licenses-testingframework": "2.0.8"
+ "@ax/axunit-runner-llvm-linux-x64": "4.0.6",
+ "@ax/axunit-runner-llvm-win-x64": "4.0.6"
}
},
"@ax/axunit-runner-llvm-linux-x64": {
- "version": "2.0.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/axunit-runner-llvm-linux-x64/-/axunit-runner-llvm-linux-x64-2.0.8.tgz",
- "integrity": "sha512-DHC0poRVuAMjrJPEnkyOhVFY43IvSswj4hakis61lKsmre7bffb5GigU5/t0u4oSdvN59DMu8i+iHujECpOS0Q==",
+ "version": "4.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-llvm-linux-x64/-/axunit-runner-llvm-linux-x64-4.0.6.tgz",
+ "integrity": "sha512-Za0+ZaWLJDnSR+7Bsr1f1Chh55JvH1tdWtJNtIjNFfpI5dkhQJ60/WCffP7khyNpcRvi2u3wLd1gtbMnXGNJNA==",
"os": [
"linux"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-testingframework": "2.0.8"
- }
+ ]
},
"@ax/axunit-runner-llvm-win-x64": {
- "version": "2.0.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/axunit-runner-llvm-win-x64/-/axunit-runner-llvm-win-x64-2.0.8.tgz",
- "integrity": "sha512-nso1/ZZW01aPl1J/yanwrTINXKgvSqVEnf7szJ4I+LyL7Jnaa2Gvs+3xFYBdwjL3bEVZdgpC8a3X2rqksgPp3A==",
+ "version": "4.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-llvm-win-x64/-/axunit-runner-llvm-win-x64-4.0.6.tgz",
+ "integrity": "sha512-8TJ25XNcLvNLrc6U2r0lfd+CeAt+cMPFwShf3IlT21BS3KeZCmz8joG1YPTq5OyKChEjg5ez5mMg5BvleG7Ybg==",
"os": [
"win32"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-testingframework": "2.0.8"
- }
+ ]
},
"@ax/axunit-runner-mc7plus": {
- "version": "2.0.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/axunit-runner-mc7plus/-/axunit-runner-mc7plus-2.0.8.tgz",
- "integrity": "sha512-76hxe36fRIymUPQwTfRP4oTtH8yDioxt+TrGRKftrHchWEkR2dy6yncrJAp6Myo6dTwL+25tBWaXUrJ7tDXx3Q==",
+ "version": "4.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-mc7plus/-/axunit-runner-mc7plus-4.0.6.tgz",
+ "integrity": "sha512-TrXheqFtzGwUYXKLjaLINU0Gkl54Qp88OFjCnrmaF71z8vOP3xJ5wtGyzYx9b9bPlub7ZIcr7PvSakn2FA21PQ==",
"dependencies": {
- "@ax/axunit-runner-mc7plus-win-x64": "2.0.8",
- "@ax/third-party-licenses-testingframework": "2.0.8"
+ "@ax/axunit-runner-mc7plus-win-x64": "4.0.6"
}
},
"@ax/axunit-runner-mc7plus-win-x64": {
- "version": "2.0.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/axunit-runner-mc7plus-win-x64/-/axunit-runner-mc7plus-win-x64-2.0.8.tgz",
- "integrity": "sha512-FRBFUWePIwIfy7st7pUs40L9M3CkC4HoA9kKbC19gpYuhA0K7PQNZn0rDiWeL7GpD3JSjZNomAZFtZN80sM5dw==",
+ "version": "4.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-mc7plus-win-x64/-/axunit-runner-mc7plus-win-x64-4.0.6.tgz",
+ "integrity": "sha512-2oavPsnLEtgOeMCUjtTJSDwgDZ7SMZ6FVko51K4vO+T/O0ZRyD7eEgOBjBY0BjBTYLXTu5DNFxVnJqCvstSHzg==",
"os": [
"win32"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-testingframework": "2.0.8"
- }
+ ]
},
"@ax/build-native": {
"version": "10.1.1",
@@ -145,243 +126,156 @@
"@ax/third-party-licenses-build-native": "10.1.1"
}
},
- "@ax/diag": {
- "version": "0.17.4",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/diag/-/diag-0.17.4.tgz",
- "integrity": "sha512-Z3RNRXWsJgP2DiGR5ed/MxuW9Tt92skjAYZBfHHOR8ni9obNbYG2Uh9Fma9ZrSmU7s+cFfVGyPPvurnPJhQwAg==",
- "dependencies": {
- "@ax/diag-linux-x64": "0.17.4",
- "@ax/diag-win-x64": "0.17.4",
- "@ax/third-party-licenses-monitor": "0.17.4"
- }
- },
- "@ax/diag-linux-x64": {
- "version": "0.17.4",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/diag-linux-x64/-/diag-linux-x64-0.17.4.tgz",
- "integrity": "sha512-xXyMhNxLENo8nL4IkQPw2c3w/hroSJMNcYCWNeinu3aLoOMup+i09evJNALYFkMT7sUo2FYqOURIz5O34sn/kw==",
- "os": [
- "linux"
- ],
- "cpu": [
- "x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-monitor": "0.17.4"
- }
- },
- "@ax/diag-win-x64": {
- "version": "0.17.4",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/diag-win-x64/-/diag-win-x64-0.17.4.tgz",
- "integrity": "sha512-HopU/QUggN2sUqMqrqhN11K5VMu1z25VPE5ChDbZpqqDkT0hjpx1+tQqP9pwryDgOL+QwQHG5/D1dEW2RGec+w==",
- "os": [
- "win32"
- ],
- "cpu": [
- "x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-monitor": "0.17.4"
- }
- },
"@ax/mod": {
- "version": "0.17.4",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/mod/-/mod-0.17.4.tgz",
- "integrity": "sha512-DBrN+0PB93BiZJ9v+LFtZt9p3k16yujJ21g3nYRGbbxlRvBaoVX36mxpn0HPGec8U1AQi7v7l2yy5UcSt3DHxA==",
+ "version": "0.19.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/mod/-/mod-0.19.6.tgz",
+ "integrity": "sha512-ox1VIJyq7UgI+73LIwzjCxLSfOLK1PTOveiW/JwqMJWhdpg0MK+UiV8N8LhTxdciXLb4KVB0TmsteEou12SfEQ==",
"dependencies": {
- "@ax/mod-linux-x64": "0.17.4",
- "@ax/mod-win-x64": "0.17.4",
- "@ax/third-party-licenses-monitor": "0.17.4"
+ "@ax/mod-linux-x64": "0.19.6",
+ "@ax/mod-win-x64": "0.19.6"
}
},
"@ax/mod-linux-x64": {
- "version": "0.17.4",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/mod-linux-x64/-/mod-linux-x64-0.17.4.tgz",
- "integrity": "sha512-CofHcxm9nusmMBIRej2OE6uvPFx3b2Q2pPC2hP6tuESqrfn5ZGRuI1es0AUPXaHZD01konfQ/w5a6FOkOS+cyg==",
+ "version": "0.19.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/mod-linux-x64/-/mod-linux-x64-0.19.6.tgz",
+ "integrity": "sha512-n1TP1N+e1CHWIi1BT8h2wu6oQgny23COPqK1q34HduS7Ws3DkNUwmSwt/ypzZcUkrs/ZDLJVzrzyZ9s2TcrCmA==",
"os": [
"linux"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-monitor": "0.17.4"
- }
+ ]
},
"@ax/mod-win-x64": {
- "version": "0.17.4",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/mod-win-x64/-/mod-win-x64-0.17.4.tgz",
- "integrity": "sha512-K1M0BG/RRJFFfCk6SbseFsc7eaDl0/mWiQWvRBvJy6Nda7JjcyOpOJJJo2ENExj0dm6Iw1WP6b1JyZBJPhbKuQ==",
+ "version": "0.19.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/mod-win-x64/-/mod-win-x64-0.19.6.tgz",
+ "integrity": "sha512-RRo9oEoKL/XUxwHN3lPHgUDrAuDFQsN96ai9UnEuVrOV6ORNqV2UF3pEERT2Y9yPQBubwr94dPSbtZuGJLimkQ==",
"os": [
"win32"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-monitor": "0.17.4"
- }
+ ]
},
"@ax/mon": {
- "version": "0.17.4",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/mon/-/mon-0.17.4.tgz",
- "integrity": "sha512-V2gtbf36wOiFPnHOTeXlmRpWlkXO33pO4cQ4UZlarhAVnv6+AzvolC0joBDH8NsE1uk9wK349+T283gaC991aw==",
+ "version": "0.19.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/mon/-/mon-0.19.6.tgz",
+ "integrity": "sha512-1DzxTbM7hezqKfjWvFppoVURyglO/vDx8yY/ygtOHzp2vN/fgkDS5b0i1ZMYNb8Cqh5bmWiUxef1KCPPuqiLcg==",
"dependencies": {
- "@ax/mon-linux-x64": "0.17.4",
- "@ax/mon-win-x64": "0.17.4",
- "@ax/third-party-licenses-monitor": "0.17.4"
+ "@ax/mon-linux-x64": "0.19.6",
+ "@ax/mon-win-x64": "0.19.6"
}
},
"@ax/mon-linux-x64": {
- "version": "0.17.4",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/mon-linux-x64/-/mon-linux-x64-0.17.4.tgz",
- "integrity": "sha512-NC5nPFdAyvCtjjtDnyYd23oSwMHR9NT3yLJhTLTo0oH+FM58zurDs2CygdkWZIX12aNEhsSJE0lMpJ6RaldiBQ==",
+ "version": "0.19.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/mon-linux-x64/-/mon-linux-x64-0.19.6.tgz",
+ "integrity": "sha512-aruXr5+pkXulrf7+AOr6BbtaIUuS2BEmRmr0p5xfxLVfFmqSGspYQK1KCVh4k3lS6f87BQPMviAHXxWElmyvWA==",
"os": [
"linux"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-monitor": "0.17.4"
- }
+ ]
},
"@ax/mon-win-x64": {
- "version": "0.17.4",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/mon-win-x64/-/mon-win-x64-0.17.4.tgz",
- "integrity": "sha512-R3u02RGnQf3AEo0cicefdwSY/UIKlg9WepPiFuYNf4jq15Pv2dUtZbkFa+5nB8hmOdYDdj1RgbRcsSuLV0SWJw==",
+ "version": "0.19.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/mon-win-x64/-/mon-win-x64-0.19.6.tgz",
+ "integrity": "sha512-suwh5N+dFMNJIgukWp3pzw8QxRzD+ae+tIxZUzHKMV91QbPbcNKJztCqa9y1dRBZyeurz+De5VZUpxZMaRobvw==",
"os": [
"win32"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-monitor": "0.17.4"
- }
+ ]
},
"@ax/sdb": {
- "version": "0.17.4",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/sdb/-/sdb-0.17.4.tgz",
- "integrity": "sha512-uuX4XonmzE3EUHZFxJpqg/oW/hRh260oE3I9s9C1b6LhENfY4M4w/4RWQclwy8kEMAZNJAmLu8mph3wjFPbcqg==",
+ "version": "0.19.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/sdb/-/sdb-0.19.6.tgz",
+ "integrity": "sha512-1H2E6VcaYfhGtxnFC58pjekMp8c3ule/byEISTc5G1AWgHV7+ANZtGAgXWIPimYIF5+u6JL/qd4JT94gCweJrA==",
"dependencies": {
- "@ax/sdb-linux-x64": "0.17.4",
- "@ax/sdb-win-x64": "0.17.4",
- "@ax/third-party-licenses-monitor": "0.17.4"
+ "@ax/sdb-linux-x64": "0.19.6",
+ "@ax/sdb-win-x64": "0.19.6"
}
},
"@ax/sdb-linux-x64": {
- "version": "0.17.4",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/sdb-linux-x64/-/sdb-linux-x64-0.17.4.tgz",
- "integrity": "sha512-Z968H7WATjAW35mItoV+LGWFo236gWwlJ5xzii0TXsiRAbbCr14MiTnObDZr3lGUKqe0hUwm3xOTj1hCUcFVrA==",
+ "version": "0.19.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/sdb-linux-x64/-/sdb-linux-x64-0.19.6.tgz",
+ "integrity": "sha512-7oVkmc8nCXIj7dPRHxwUipRVvxQpyYpCNpseWYYsgKyfzaeRKeZpwF3zuSe5I9NSsWenGT1HtvJhyfSJ2Dyebg==",
"os": [
"linux"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-monitor": "0.17.4"
- }
+ ]
},
"@ax/sdb-win-x64": {
- "version": "0.17.4",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/sdb-win-x64/-/sdb-win-x64-0.17.4.tgz",
- "integrity": "sha512-SubrVGW/1JY5pZ+2UIgGuJSduDlXXRCL5vFyhGPS7J+RMki2TJCiEMMorxwbAdzUymv9uqTPbvMzQbE17y3XGQ==",
+ "version": "0.19.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/sdb-win-x64/-/sdb-win-x64-0.19.6.tgz",
+ "integrity": "sha512-Rkeb7x1I1t3tKpop+xYbNhWw4Qk0u7tU+maj8JsidQyuSEs/dcgOE95nCb32JhaMKRykwZ6uQ0SVsnrqtCvwrA==",
"os": [
"win32"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-monitor": "0.17.4"
- }
+ ]
},
"@ax/sdk": {
- "version": "3.0.2",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/sdk/-/sdk-3.0.2.tgz",
- "integrity": "sha512-frtVc5Ohp5GT49Xurm17EsAYGN6janqLJQ316Ip20Y62/ibmntVNgA0fpmCv6H+Ht+IXefjTyCV9Q3I2siXG6Q==",
- "dependencies": {
- "@ax/axunit": "2.0.8",
- "@ax/diag": "0.17.4",
- "@ax/mod": "0.17.4",
- "@ax/mon": "0.17.4",
- "@ax/sdb": "0.17.4",
- "@ax/sld": "0.12.1",
- "@ax/st": "3.0.2",
- "@ax/target-llvm": "4.1.6",
- "@ax/target-mc7plus": "4.1.6"
- }
+ "version": "4.0.12",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/sdk/-/sdk-4.0.12.tgz",
+ "integrity": "sha512-EXB8J2voETlwzYWe7GPt25NA/FM+qskre83oahARvS7/7hIoEhinfx7AhZqj63hUruAr9P1XcMZL8cTyQhOYgQ==",
+ "dependencies": {
+ "@ax/axunit": "4.0.6",
+ "@ax/axunit-ls-contrib": "4.0.6",
+ "@ax/mod": "0.19.6",
+ "@ax/mon": "0.19.6",
+ "@ax/sdb": "0.19.6",
+ "@ax/simatic-pragma-stc-plugin": "1.0.26",
+ "@ax/sld": "1.0.11",
+ "@ax/st": "4.0.12",
+ "@ax/target-llvm": "5.4.89",
+ "@ax/target-mc7plus": "5.4.89"
+ }
+ },
+ "@ax/simatic-pragma-stc-plugin": {
+ "version": "1.0.26",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/simatic-pragma-stc-plugin/-/simatic-pragma-stc-plugin-1.0.26.tgz",
+ "integrity": "sha512-2Pj/Encd6bUgsRfXyj3rA4YOUpRroqwzODKU37T95dMNle+BpFXYS3V88FYJyTdOgSrJik4VVdV1AFzH7NUQ8g=="
},
"@ax/sld": {
- "version": "0.12.1",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/sld/-/sld-0.12.1.tgz",
- "integrity": "sha512-9FqP80QhgOjgPEEiVXZBFdemPFIW76XZg7MHylijyGYT4x5vLq2dRa59Hx8zMEPRS5jJVcOrJ5lnQpGZCDJrDQ==",
- "dependencies": {
- "@ax/sld-linux-x64": "0.12.1",
- "@ax/sld-win-x64": "0.12.1",
- "@ax/third-party-licenses-plc-loader": "0.12.1"
- }
- },
- "@ax/sld-linux-x64": {
- "version": "0.12.1",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/sld-linux-x64/-/sld-linux-x64-0.12.1.tgz",
- "integrity": "sha512-NeacGQ4xptssaq6SVYqOd3w5su3c0pz+ceRbaBiCk1GgHDXIrsw6I6v6QLeza8P/u688L9q0/8RY4A+JP8+dLA==",
- "os": [
- "linux"
- ],
- "cpu": [
- "x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-plc-loader": "0.12.1"
- }
- },
- "@ax/sld-win-x64": {
- "version": "0.12.1",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/sld-win-x64/-/sld-win-x64-0.12.1.tgz",
- "integrity": "sha512-8Ou2iEPE1M3JgUmG1ttn8LHoDwZwcKxiZyTIsj2gTcoiaUYFP56EAABtjniXQM7x0l39M24RgG4GNHS2AN/wHw==",
- "os": [
- "win32"
- ],
+ "version": "2.0.5",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld/-/sld-2.0.5.tgz",
+ "integrity": "sha512-upa0HyRVdYyzNu6j7E+gTAnpzP2mfZxvo+0jbm8H6Ci9ergL56SHaCVBC35PnociMZpdZ5d1/LTy6f8lwpDxXA==",
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-plc-loader": "0.12.1"
- }
+ ]
},
"@ax/st": {
- "version": "3.0.2",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/st/-/st-3.0.2.tgz",
- "integrity": "sha512-uDi0fxvMz+12uHxSmBeP4GlnKuAc0WSxVR0muZ/NGn0ULbSILYQfWp+J7L+k6QGf010Os6WzmwszOK3FOcQc+Q==",
+ "version": "4.0.12",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/st/-/st-4.0.12.tgz",
+ "integrity": "sha512-Y/SZG+Y7Cf9C+kuFBpU0zunU0Jkr7PQaybnlPAnoSt3Vl9XIk1JWIlHi7axKz62TRzlqi2MyBFuAVZKXtSLkIg==",
"dependencies": {
- "@ax/apax-build": "0.5.0",
- "@ax/stc": "4.1.6"
+ "@ax/apax-build": "0.7.0",
+ "@ax/stc": "5.4.89"
}
},
"@ax/st-docs": {
- "version": "4.1.6",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/st-docs/-/st-docs-4.1.6.tgz",
- "integrity": "sha512-7LwS86O52ydoh9avtehEBd4Bm5i9lKNZUZteK/MwpY0GMYNd5Ph2HwS6EmYih+3n95q6joRVBRd62XLVF3abQA==",
- "dependencies": {
- "@ax/third-party-licenses-st-compiler": "4.1.6"
- }
+ "version": "5.4.89",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/st-docs/-/st-docs-5.4.89.tgz",
+ "integrity": "sha512-TogaSV69nQtoPVUFMna4rZOz64SEa5m8mfEjoXcYABI1GgDhqz9ptzzCLbpcz7l6+zimdv1erV36WxRYoX9guQ=="
},
"@ax/stc": {
- "version": "4.1.6",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/stc/-/stc-4.1.6.tgz",
- "integrity": "sha512-KjqEcqA4+6IpClC5LJq4ZgrrZ1YiCeGc5Un8p6ideRoh4UZtl13EnCiAiZYXxXcu3uP8hylPN80I6AC2e2kipQ==",
+ "version": "5.4.89",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc/-/stc-5.4.89.tgz",
+ "integrity": "sha512-PylnoEsIPZj8IK2XwSnjHlDK66CJ7ABaZ9UqBLGP281JI5XLwP88+e9Xjb7RjZbyomeg+1lcvHT1juXZSyc8Ig==",
"dependencies": {
- "@ax/stc-linux-x64": "4.1.6",
- "@ax/stc-win-x64": "4.1.6",
- "@ax/third-party-licenses-st-compiler": "4.1.6"
+ "@ax/stc-linux-x64": "5.4.89",
+ "@ax/stc-win-x64": "5.4.89"
}
},
"@ax/stc-linux-x64": {
- "version": "4.1.6",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/stc-linux-x64/-/stc-linux-x64-4.1.6.tgz",
- "integrity": "sha512-V+deitre/miL6Az96kbXyRg6SXWccq+hcJcWBHPWich7oHu7NpkIeAaFvWDi4KQMdby2+FEh/9/I6Q++NBragw==",
+ "version": "5.4.89",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc-linux-x64/-/stc-linux-x64-5.4.89.tgz",
+ "integrity": "sha512-WFNqenCSEs+Qy1ZzSEEmmg7eOxUggPyVqJ+ZQjwR+LqAmVYJRm0yFzOFQvTghVO/znvSgGeKywK8W9OjFu2BEw==",
"os": [
"linux"
],
@@ -389,14 +283,13 @@
"x64"
],
"dependencies": {
- "@ax/st-docs": "4.1.6",
- "@ax/third-party-licenses-st-compiler": "4.1.6"
+ "@ax/st-docs": "5.4.89"
}
},
"@ax/stc-win-x64": {
- "version": "4.1.6",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/stc-win-x64/-/stc-win-x64-4.1.6.tgz",
- "integrity": "sha512-IbeMwRZumkiLkOWegFO+iDw/WdM242jkBsAVx8/SIrEj10WVyv0FiIu11UIBx415kWEEOVNXIC3pwxbgUQZ4VQ==",
+ "version": "5.4.89",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc-win-x64/-/stc-win-x64-5.4.89.tgz",
+ "integrity": "sha512-ysCVJdJ3Gk7p+FzHhntapHYhvKkyHVU0HV36pMBrpYVTCgTOoHlFkeDeTy+JU6cfx7x4LVuIFTzQusJrFPUs8g==",
"os": [
"win32"
],
@@ -404,122 +297,79 @@
"x64"
],
"dependencies": {
- "@ax/st-docs": "4.1.6",
- "@ax/third-party-licenses-st-compiler": "4.1.6"
+ "@ax/st-docs": "5.4.89"
}
},
"@ax/target-axunit": {
- "version": "2.0.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/target-axunit/-/target-axunit-2.0.8.tgz",
- "integrity": "sha512-aFRPFSR+WN84wFjy9H5EKLh80bb9GbNiCxhuAcD/uEzqS09QWBITfiTFIQVWvnUi/2DUCsNF8Aj+eYntwFAf4A==",
- "dependencies": {
- "@ax/third-party-licenses-testingframework": "2.0.8"
- }
+ "version": "4.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-axunit/-/target-axunit-4.0.6.tgz",
+ "integrity": "sha512-JSxQsnT/1PjaPLVmv7mORqjhmE5weMUEZ8/xKDdKnH+UxRH8FkCuLMsKgsq+UCQUazdbePm9vFlZ6E4HhI5OGA=="
},
"@ax/target-llvm": {
- "version": "4.1.6",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/target-llvm/-/target-llvm-4.1.6.tgz",
- "integrity": "sha512-++Ja6l5Nn3ef/S5RlWAzywlk/2M8rGcELZJiOt3BgmGN7KrSCpUzb7SNY9sUDg9HASIKA2ZjCxoqmlnqSfNXxQ==",
+ "version": "5.4.89",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm/-/target-llvm-5.4.89.tgz",
+ "integrity": "sha512-gKooU/g7iFjalErbbmfBwwcYwBbH9GQeeICilgUK+0FFxyGLn28ML9ky4MrL6e3Yq/mWrHPnqZlKK4ZIZsMEDA==",
"dependencies": {
- "@ax/target-llvm-linux-x64": "4.1.6",
- "@ax/target-llvm-win-x64": "4.1.6",
- "@ax/third-party-licenses-st-compiler": "4.1.6"
+ "@ax/target-llvm-linux-x64": "5.4.89",
+ "@ax/target-llvm-win-x64": "5.4.89"
}
},
"@ax/target-llvm-linux-x64": {
- "version": "4.1.6",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/target-llvm-linux-x64/-/target-llvm-linux-x64-4.1.6.tgz",
- "integrity": "sha512-Jd/2VrJk2A7vYfweFzdbnEB3KRm0BZmQgZaLiOHBWzv3FdPlLhRCkuC5my9nPMB3d5YtVP/3somEufHNubRCug==",
+ "version": "5.4.89",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm-linux-x64/-/target-llvm-linux-x64-5.4.89.tgz",
+ "integrity": "sha512-xOFn1jGf3EPCSSOu88lcdPlwW46n59xdiJT19WxBvaOowAzEoCAYQCTXfh3si/XiAix0vLWsnDY9DYRPMhx5qA==",
"os": [
"linux"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-st-compiler": "4.1.6"
- }
+ ]
},
"@ax/target-llvm-win-x64": {
- "version": "4.1.6",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/target-llvm-win-x64/-/target-llvm-win-x64-4.1.6.tgz",
- "integrity": "sha512-iNll599705taC2Bin+gfUafVYtpAH7DqN7Gz7N3nUcIWt2DiSv4TOkz1SSULS5SEBRQAYCz3fZnvUdgL7xKbjw==",
+ "version": "5.4.89",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm-win-x64/-/target-llvm-win-x64-5.4.89.tgz",
+ "integrity": "sha512-pQdi7/dtf4Hz10yMikkxcOKqDwPzsQTD/d8vG7rfHYLyGHezBslVNHnoVGufaSAbQkU9zwvZJ7EUT89oRrU2lg==",
"os": [
"win32"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-st-compiler": "4.1.6"
- }
+ ]
},
"@ax/target-mc7plus": {
- "version": "4.1.6",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/target-mc7plus/-/target-mc7plus-4.1.6.tgz",
- "integrity": "sha512-ZIHBVwcBWe+P59fZHFa8NrLkJFhqV9GOerxodlJhu9G/m2szr+5MEi3nep4vw8r/dZzahx9UqAU/tnXTb8aJGA==",
+ "version": "5.4.89",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus/-/target-mc7plus-5.4.89.tgz",
+ "integrity": "sha512-5W0MHwuBiAzcs/4SGKKd91ZtM3Dr4RFixU/3bXHdTpyEDHT6S3fGGPjhDO58Cnd9WORleOozFg95zoZgEodcBw==",
"dependencies": {
- "@ax/target-mc7plus-linux-x64": "4.1.6",
- "@ax/target-mc7plus-win-x64": "4.1.6",
- "@ax/third-party-licenses-st-compiler": "4.1.6"
+ "@ax/target-mc7plus-linux-x64": "5.4.89",
+ "@ax/target-mc7plus-win-x64": "5.4.89"
}
},
"@ax/target-mc7plus-linux-x64": {
- "version": "4.1.6",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/target-mc7plus-linux-x64/-/target-mc7plus-linux-x64-4.1.6.tgz",
- "integrity": "sha512-z6iURITvnVBnDFv/ifbDUPrpMmloBhmEfVIIZ+rEzKWxmZ57CWLQSBRGGkiXT+TiF8aRyaqEJmwwdWZxUTNPkA==",
+ "version": "5.4.89",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus-linux-x64/-/target-mc7plus-linux-x64-5.4.89.tgz",
+ "integrity": "sha512-WPSfNJI4Ar4DuAH6WZLfoVPU9whR+1arPfvWvmJ3w5Ag38PpfZU8BNfJ8krGbLzZXm/nMvydnE4oyfz4mRgbwg==",
"os": [
"linux"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-st-compiler": "4.1.6"
- }
+ ]
},
"@ax/target-mc7plus-win-x64": {
- "version": "4.1.6",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/target-mc7plus-win-x64/-/target-mc7plus-win-x64-4.1.6.tgz",
- "integrity": "sha512-wKlitqYXvFvaRnfOG3rUsCY1czOmwkawium+FRBVC0/RU6NrrDORXuOGuJWNriNwntACXrYhzoB/WX5KZZq0/A==",
+ "version": "5.4.89",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus-win-x64/-/target-mc7plus-win-x64-5.4.89.tgz",
+ "integrity": "sha512-vnlDcCvwLzj06oQKR0sbrEfRf/s/RWKsnfqbhfNzKRt5T3mW+46dmcuR90SSNrYpHi4Szx/mwRl+O1BmxSJI8g==",
"os": [
"win32"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-st-compiler": "4.1.6"
- }
- },
- "@ax/third-party-licenses-apax-build": {
- "version": "0.5.0",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/third-party-licenses-apax-build/-/third-party-licenses-apax-build-0.5.0.tgz",
- "integrity": "sha512-9okNwDaHttbFwcP1Ln/mFN8ARYL1g+ShCtcMm4OE/BYN98nzoTZBEaUdsdbhju4sL4bD6qDBPVvj9o/cwPIL7Q=="
+ ]
},
"@ax/third-party-licenses-build-native": {
"version": "10.1.1",
"resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/third-party-licenses-build-native/-/third-party-licenses-build-native-10.1.1.tgz",
"integrity": "sha512-Da+AT0KujH3K9bKf4K4rqPA3Z+a/WDkw9p6328AlrSqgBIUFyUZzOM3eVOwhhjKCnmNAVSmtSp0r7crDFGICTw=="
- },
- "@ax/third-party-licenses-monitor": {
- "version": "0.17.4",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/third-party-licenses-monitor/-/third-party-licenses-monitor-0.17.4.tgz",
- "integrity": "sha512-ac5nbrpOkX0EuaghbQc8G7AZEOow3aTGlNb/jv3P+iBFvdslrpgGFe5wbHnKxPgkt9TaIf/n48Wy/N8IfVdlKg=="
- },
- "@ax/third-party-licenses-plc-loader": {
- "version": "0.12.1",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/third-party-licenses-plc-loader/-/third-party-licenses-plc-loader-0.12.1.tgz",
- "integrity": "sha512-6KmsG+8fwmbR7WwEOpaTu/87vvTMMun1g/PcPJQoTUTSAf0fxrDvNmIHYRSIp2gVpt/6v/mryDfIKAnvvSt91g=="
- },
- "@ax/third-party-licenses-st-compiler": {
- "version": "4.1.6",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/third-party-licenses-st-compiler/-/third-party-licenses-st-compiler-4.1.6.tgz",
- "integrity": "sha512-rsbijfgPOvWe+NUsD/6D+/uI6b+gZC8vYW0/xLaorKcN2yOkz4dq1VL7Ighz163BjwRlKDNos9Au4Ao1vmG+pA=="
- },
- "@ax/third-party-licenses-testingframework": {
- "version": "2.0.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/third-party-licenses-testingframework/-/third-party-licenses-testingframework-2.0.8.tgz",
- "integrity": "sha512-pKjnmI18dCvDqM/o6xxTzKqAdF5KIo/pje1JkoZP64BIf5LAwz84NsmDFB1jlmlo3nv3arhSe7aKK9jhjYZAvw=="
}
}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/apax.yml b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/apax.yml
index bc0f334e..a72c034e 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/apax.yml
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/apax.yml
@@ -5,9 +5,10 @@ targets:
- "1500"
- axunit-llvm
devDependencies:
- "@ax/sdk": 3.0.2
- "@ax/sld": ^0.14.2
+ "@ax/sdk": ^4.0.12
+ "@ax/sld": ^2.0.5
scripts:
- ixc:
- - dotnet run --project ..\\..\\..\\..\\AXSharp.compiler\\src\\ixc\\AXSharp.ixc.csproj --framework net7.0
-
+ ixc:
+ - dotnet run --project
+ ..\\..\\..\\..\\AXSharp.compiler\\src\\ixc\\AXSharp.ixc.csproj --framework
+ net7.0
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/CU00x.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/CU00x.st
index 801571c1..f0aa6724 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/CU00x.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/CU00x.st
@@ -1,9 +1,11 @@
+{S7.extern=ReadWrite}
CLASS CU00x EXTENDS CUBase
VAR PUBLIC
_cuName: STRING;
END_VAR
END_CLASS
+{S7.extern=ReadWrite}
CLASS CUBase
VAR PUBLIC
_baseName : STRING;
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/GroupBox_other.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/GroupBox_other.st
index 2c989a00..475b80af 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/GroupBox_other.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/GroupBox_other.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS GroupBox_other
VAR PUBLIC
{#ix-set:AttributeName = "B1"}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/MAIN.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/MAIN.st
index 60b9c000..7a95d48f 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/MAIN.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/MAIN.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS MAIN
VAR PUBLIC
{#ix-set:AttributeName = "<#Hello#> <#World#>"}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TcoVortexObject.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TcoVortexObject.st
index 73e64864..9969a9f2 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TcoVortexObject.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TcoVortexObject.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS TcoIxObject
VAR PUBLIC
ix_bool : BOOL;
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestEmpty.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestEmpty.st
index e5dc78dd..8699fc15 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestEmpty.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestEmpty.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS TestEmpty
VAR PUBLIC
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestLayoutOverwriting.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestLayoutOverwriting.st
index 693bd73f..51dd6bf4 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestLayoutOverwriting.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestLayoutOverwriting.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
{#ix-attr:[Container(Layout.UniformGrid)]}
CLASS TestLayoutOverwriting
VAR PUBLIC
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestMixed.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestMixed.st
index 150b6161..8c15b7aa 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestMixed.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestMixed.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS TestMixed
VAR PUBLIC
{#ix-attr:[Container(Layout.Wrap)]}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestMultipleLayouts.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestMultipleLayouts.st
index 598a8d09..84757dd8 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestMultipleLayouts.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestMultipleLayouts.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS TestMultipleLayouts
VAR PUBLIC
{#ix-set:AttributeName = "B1"}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestSimple.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestSimple.st
index b081f8dc..fb437cdb 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestSimple.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestSimple.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS TestSimple
VAR PUBLIC
{#ix-set:AttributeName = "A1"}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestSimpleNested.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestSimpleNested.st
index 2bd679f4..db62e014 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestSimpleNested.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestSimpleNested.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS TestSimpleNested
VAR PUBLIC
{#ix-attr:[Container(Layout.Tabs)]}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStruct.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStruct.st
index 986000f1..2dd83e4f 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStruct.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStruct.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS TestStruct
VAR PUBLIC
e:INT;
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStructMultipleGroups.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStructMultipleGroups.st
index bb12b0b3..abe54935 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStructMultipleGroups.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStructMultipleGroups.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS TestStructMultipleGroups
VAR PUBLIC
e:INT;
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStructOneGroupWithLayout.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStructOneGroupWithLayout.st
index bcaa9df1..91fe4f9b 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStructOneGroupWithLayout.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStructOneGroupWithLayout.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS TestStructOneGroupWithLayout
VAR PUBLIC
{#ix-attr:[Container(Layout.Wrap)]}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStructWithMainLayout.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStructWithMainLayout.st
index 3e85b42d..8c5c4588 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStructWithMainLayout.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestStructWithMainLayout.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS TestStructWithMainLayout
VAR PUBLIC
e:INT;
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestWithoutLayouts.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestWithoutLayouts.st
index f18fe3d8..0599bff1 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestWithoutLayouts.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/TestWithoutLayouts.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS TestWithoutLayouts
VAR PUBLIC
ix_bool : BOOL;
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/VortexComponents.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/VortexComponents.st
index daccace0..e18761e9 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/VortexComponents.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/VortexComponents.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS IxComponent
VAR PUBLIC
ix_bool : BOOL;
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/configuration.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/configuration.st
index 325c4105..1266230f 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/configuration.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/configuration.st
@@ -3,8 +3,11 @@ CONFIGURATION MyConfiguration
PROGRAM P1 WITH Main: MyProgram;
VAR_GLOBAL
+ {S7.extern=ReadWrite}
testingProgram : testingProgram;
+ {S7.extern=ReadWrite}
prgWeatherStations : prgWeatherStations;
+ {S7.extern=ReadWrite}
MAINC : MAIN;
END_VAR
END_CONFIGURATION
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/fbWorldWeatherWatch.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/fbWorldWeatherWatch.st
index dca0eeeb..de0c227b 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/fbWorldWeatherWatch.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/fbWorldWeatherWatch.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS fbWorldWeatherWatch
VAR PUBLIC
{#ix-attr:[Container(Layout.Stack)]}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/prgWeatherStations.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/prgWeatherStations.st
index 90736573..6a262c23 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/prgWeatherStations.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/prgWeatherStations.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
{#ix-attr:[Container(Layout.Stack)]}
CLASS prgWeatherStations
VAR PUBLIC
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stBlazor.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stBlazor.st
index 49e22a1a..32f548fd 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stBlazor.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stBlazor.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stBlazor
VAR PUBLIC
{#ix-set:AttributeName = "<#Integer From PLC#>"}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stComplex.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stComplex.st
index 945b34b0..9433e710 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stComplex.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stComplex.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stComplex
VAR PUBLIC
{#ix-set:AttributeName = "<#Integer From PLC#>"}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stComplexUnknown.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stComplexUnknown.st
index f2e0fec9..f9e68474 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stComplexUnknown.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stComplexUnknown.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stComplexUnknown
VAR PUBLIC
{#ix-set:AttributeName = "<#String unknown From PLC#>"}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stExample.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stExample.st
index f77290e9..3ba02261 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stExample.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stExample.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stExample
VAR PUBLIC
{#ix-attr:[Container(Layout.Tabs)]}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stLayouts.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stLayouts.st
index ddd3ac1c..0044adfb 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stLayouts.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stLayouts.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stLayouts
VAR
{#ix-set:AttributeName = "B1"}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stMultipleLayouts.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stMultipleLayouts.st
index 7c1141a7..15c8be02 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stMultipleLayouts.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stMultipleLayouts.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stMultipleLayouts
VAR PUBLIC
{#ix-attr:[Container(Layout.Tabs)]}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stSimplePrimitive.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stSimplePrimitive.st
index 7a79f601..81d0ab7c 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stSimplePrimitive.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stSimplePrimitive.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stSimplePrimitive
VAR PUBLIC
{#ix-set:AttributeName = "<#Test Integer#>"}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTest.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTest.st
index 1e97541a..4f97ab7f 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTest.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTest.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stTest
VAR PUBLIC
p1:INT;
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTest2.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTest2.st
index 0b5ae04d..e3b4de4a 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTest2.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTest2.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stTest2
VAR
testVarString: STRING;
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTest3.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTest3.st
index 7ae20fd6..50dbc25f 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTest3.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTest3.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stTest3
VAR PUBLIC
ix_bool : BOOL;
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestComplex.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestComplex.st
index b9d79a78..e5abfdde 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestComplex.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestComplex.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stTestComplex
VAR PUBLIC
{#ix-set:AttributeName = "<#Integer From PLC#>"}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestLayouts.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestLayouts.st
index 727002c3..2daec52b 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestLayouts.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestLayouts.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stTestLayouts
VAR PUBLIC
{#ix-attr:[Container(Layout.Stack)]}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestMultipleNested.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestMultipleNested.st
index c5b2f6ea..a8d6a6ba 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestMultipleNested.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestMultipleNested.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stTestMultipleNested
VAR PUBLIC
{#ix-attr:[Container(Layout.Tabs)]}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestNested.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestNested.st
index 28c26248..61ccd6e6 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestNested.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestNested.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stTestNested
VAR PUBLIC
{#ix-attr:[Container(Layout.Wrap)]}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestPrimitive.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestPrimitive.st
index 2eb1a8c1..ef13045f 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestPrimitive.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestPrimitive.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stTestPrimitive
VAR PUBLIC
{#ix-set:AttributeName = "<#Integer From PLC#>"}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestRenderIgnore.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestRenderIgnore.st
index d8748c15..96d37c40 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestRenderIgnore.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/stTestRenderIgnore.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS stTestRenderIgnore
VAR PUBLIC
{#ix-attr:[RenderIgnore()]}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/structWeatherStation.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/structWeatherStation.st
index 3b4f4ff6..c11afc2e 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/structWeatherStation.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/structWeatherStation.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS structWeatherStation
VAR PUBLIC
{#ix-set:AttributeName = "Station name (ICAO)"}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/testingProgram.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/testingProgram.st
index 30ca42f9..90c65f05 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/testingProgram.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/src/testingProgram.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS testingProgram
VAR PUBLIC
{#ix-set:AttributeName = "instanceOfStPrimitive"}
diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/test/test.st b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/test/test.st
index 82bb243b..d1a79018 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/test/test.st
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/test/test.st
@@ -3,6 +3,7 @@ USING AxUnit;
NAMESPACE MyTest
{TestFixture}
+ {S7.extern=ReadWrite}
CLASS MyTestFixture
{Test}
METHOD PUBLIC MyTestMethod
diff --git a/src/AXSharp.examples/hello.world.console/hello.world.console.plc/hello.world.console.plc.sln b/src/AXSharp.examples/hello.world.console/hello.world.console.plc/hello.world.console.plc.sln
new file mode 100644
index 00000000..ba015f16
--- /dev/null
+++ b/src/AXSharp.examples/hello.world.console/hello.world.console.plc/hello.world.console.plc.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.002.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "hello.world.console.plc", "ix\hello.world.console.plc.csproj", "{95967F31-AD7A-45FB-99A5-9D93FF332979}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "hello_world_console_plc", "ix\hello_world_console_plc.csproj", "{4A4210C5-BB3A-49EA-A83C-E8BA2D7EEBF3}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {95967F31-AD7A-45FB-99A5-9D93FF332979}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {95967F31-AD7A-45FB-99A5-9D93FF332979}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {95967F31-AD7A-45FB-99A5-9D93FF332979}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {95967F31-AD7A-45FB-99A5-9D93FF332979}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4A4210C5-BB3A-49EA-A83C-E8BA2D7EEBF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4A4210C5-BB3A-49EA-A83C-E8BA2D7EEBF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4A4210C5-BB3A-49EA-A83C-E8BA2D7EEBF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4A4210C5-BB3A-49EA-A83C-E8BA2D7EEBF3}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {667D7F77-00F5-4DAB-B2AF-06185DE7B48D}
+ EndGlobalSection
+EndGlobal
diff --git a/src/AXSharp.examples/hello.world.console/hello.world.console.plc/src/configuration.st b/src/AXSharp.examples/hello.world.console/hello.world.console.plc/src/configuration.st
index 43d09243..235c5515 100644
--- a/src/AXSharp.examples/hello.world.console/hello.world.console.plc/src/configuration.st
+++ b/src/AXSharp.examples/hello.world.console/hello.world.console.plc/src/configuration.st
@@ -3,7 +3,9 @@ CONFIGURATION MyConfiguration
PROGRAM P1 WITH Main: MyProgram;
VAR_GLOBAL
+ {S7.extern=ReadWrite}
Counter : ULINT;
+ {S7.extern=ReadWrite}
HelloWorld : STRING := 'Hello world';
END_VAR
END_CONFIGURATION
diff --git a/src/sanbox/integration/ix-integration-plc/ix-integration-plc.sln b/src/sanbox/integration/ix-integration-plc/ix-integration-plc.sln
new file mode 100644
index 00000000..85eff274
--- /dev/null
+++ b/src/sanbox/integration/ix-integration-plc/ix-integration-plc.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.002.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ix_integration_plc", "ix\ix_integration_plc.csproj", "{D26353F3-13BB-4EF2-8737-64394B9F727B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D26353F3-13BB-4EF2-8737-64394B9F727B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D26353F3-13BB-4EF2-8737-64394B9F727B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D26353F3-13BB-4EF2-8737-64394B9F727B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D26353F3-13BB-4EF2-8737-64394B9F727B}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {E0DF88D2-E674-451C-92AB-7F9FCDB9E244}
+ EndGlobalSection
+EndGlobal
diff --git a/src/sanbox/integration/ix-integration-plc/ix/Resources/PlcStringResources.resx b/src/sanbox/integration/ix-integration-plc/ix/Resources/PlcStringResources.resx
index 056e541c..0f335fb9 100644
--- a/src/sanbox/integration/ix-integration-plc/ix/Resources/PlcStringResources.resx
+++ b/src/sanbox/integration/ix-integration-plc/ix/Resources/PlcStringResources.resx
@@ -60,54 +60,54 @@
Integer From PLC
- src\compositeLayout.st,2
+ src\compositeLayout.st,3
UInteger From PLC
- src\compositeLayout.st,4
+ src\compositeLayout.st,5
STRING From PLC
- src\compositeLayout.st,6
+ src\compositeLayout.st,7
Task
- src\compositeLayout.st,8
+ src\compositeLayout.st,9
LREAL From PLC
- src\compositeLayout.st,11
+ src\compositeLayout.st,12
BOOL From PLC
- src\compositeLayout.st,13
+ src\compositeLayout.st,14
DATE From PLC
- src\compositeLayout.st,15
+ src\compositeLayout.st,16
DATE_AND_TIME From PLC
- src\compositeLayout.st,17
+ src\compositeLayout.st,18
TIME_OF_DAY From PLC
- src\compositeLayout.st,19
+ src\compositeLayout.st,20
WORD From PLC
- src\test\border.st,10
+ src\test\border.st,11
BYTE From PLC
- src\test\border.st,12
+ src\test\border.st,13
REAL From PLC
- src\test\border.st,14
+ src\test\border.st,15
ENUM Station status
- src\test\border.st,26
+ src\test\border.st,27
\ No newline at end of file
diff --git a/src/sanbox/integration/ix-integration-plc/src/all_primitives.st b/src/sanbox/integration/ix-integration-plc/src/all_primitives.st
index 0e49e7e2..bdc3b5cd 100644
--- a/src/sanbox/integration/ix-integration-plc/src/all_primitives.st
+++ b/src/sanbox/integration/ix-integration-plc/src/all_primitives.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS all_primitives
VAR PUBLIC
myBOOL : BOOL ;
diff --git a/src/sanbox/integration/ix-integration-plc/src/compositeLayout.st b/src/sanbox/integration/ix-integration-plc/src/compositeLayout.st
index 874c12f5..d898e944 100644
--- a/src/sanbox/integration/ix-integration-plc/src/compositeLayout.st
+++ b/src/sanbox/integration/ix-integration-plc/src/compositeLayout.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS compositeLayout
VAR PUBLIC
{#ix-set:AttributeName = "<#Integer From PLC#>"}
diff --git a/src/sanbox/integration/ix-integration-plc/src/configuration.st b/src/sanbox/integration/ix-integration-plc/src/configuration.st
index bac342ce..e39ee932 100644
--- a/src/sanbox/integration/ix-integration-plc/src/configuration.st
+++ b/src/sanbox/integration/ix-integration-plc/src/configuration.st
@@ -4,25 +4,38 @@ CONFIGURATION MyConfiguration
PROGRAM P1 WITH Main: MyProgram;
VAR_GLOBAL
+ {S7.extern=ReadWrite}
all_primitives : all_primitives;
+ {S7.extern=ReadWrite}
weather : weather;
+ {S7.extern=ReadWrite}
weathers : weathers;
+ {S7.extern=ReadWrite}
{#ix-set:AttributeName = "Weather in a stack pannel and grouped in group box"}
weather_stacked : Layouts.Stacked.weather;
+ {S7.extern=ReadWrite}
{#ix-set:AttributeName = "Weather in a wrap pannel and grouped in group box"}
weather_wrapped : Layouts.Wrapped.weather;
+ {S7.extern=ReadWrite}
{#ix-set:AttributeName = "Weather in a tabs and grouped in group box"}
weather_tabbed : Layouts.Tabbed.weather;
+ {S7.extern=ReadWrite}
{#ix-set:AttributeName = "Weather structure set to read once"}
{#ix-attr:[ReadOnce()]}
weather_readOnce : Layouts.Stacked.weather;
+ {S7.extern=ReadWrite}
{#ix-set:AttributeName = "Weather structure set to read only"}
{#ix-attr:[ReadOnly()]}
+ {S7.extern=ReadWrite}
weather_readOnly : Layouts.Stacked.weather;
+ {S7.extern=ReadWrite}
test_example: example;
+ {S7.extern=ReadWrite}
measurements : MeasurementExample.Measurements;
+ {S7.extern=ReadWrite}
ixcomponent : ixcomponent;
+ {S7.extern=ReadWrite}
monster : Monster;
END_VAR
END_CONFIGURATION
diff --git a/src/sanbox/integration/ix-integration-plc/src/example.st b/src/sanbox/integration/ix-integration-plc/src/example.st
index 0788ebeb..d807a7ca 100644
--- a/src/sanbox/integration/ix-integration-plc/src/example.st
+++ b/src/sanbox/integration/ix-integration-plc/src/example.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS example
VAR PUBLIC
{#ix-attr:[Container(Layout.Stack)]}
diff --git a/src/sanbox/integration/ix-integration-plc/src/geolocation.st b/src/sanbox/integration/ix-integration-plc/src/geolocation.st
index c06bd2b6..b7106648 100644
--- a/src/sanbox/integration/ix-integration-plc/src/geolocation.st
+++ b/src/sanbox/integration/ix-integration-plc/src/geolocation.st
@@ -1,6 +1,7 @@
{#ix-attr:[Container(Layout.Stack)]}
{#ix-attr:[Group(GroupLayout.GroupBox)]}
{#ix-set:AttributeName = "Location"}
+{S7.extern=ReadWrite}
CLASS GeoLocation
VAR PUBLIC
{#ix-set:AttributeName = "Latitude [°]"}
diff --git a/src/sanbox/integration/ix-integration-plc/src/ixcomponent.st b/src/sanbox/integration/ix-integration-plc/src/ixcomponent.st
index 13dba3c0..14f82178 100644
--- a/src/sanbox/integration/ix-integration-plc/src/ixcomponent.st
+++ b/src/sanbox/integration/ix-integration-plc/src/ixcomponent.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS ixcomponent
VAR PUBLIC
{#ix-set:AttributeName = "My integer"}
@@ -14,6 +15,7 @@ CLASS ixcomponent
END_CLASS
NAMESPACE MySecondNamespace
+ {S7.extern=ReadWrite}
CLASS ixcomponent
VAR PUBLIC
{#ix-set:AttributeName = "My integer"}
@@ -27,6 +29,7 @@ NAMESPACE MySecondNamespace
END_NAMESPACE
NAMESPACE ThirdNamespace
+ {S7.extern=ReadWrite}
CLASS ixcomponent
VAR PUBLIC
{#ix-set:AttributeName = "My integer"}
diff --git a/src/sanbox/integration/ix-integration-plc/src/measurement.st b/src/sanbox/integration/ix-integration-plc/src/measurement.st
index 5ddb2af8..95d7f2a1 100644
--- a/src/sanbox/integration/ix-integration-plc/src/measurement.st
+++ b/src/sanbox/integration/ix-integration-plc/src/measurement.st
@@ -1,6 +1,7 @@
NAMESPACE MeasurementExample
{#ix-attr:[Container(Layout.Wrap)]}
{#ix-attr:[Group(GroupLayout.GroupBox)]}
+ {S7.extern=ReadWrite}
CLASS PUBLIC Measurement
VAR PUBLIC
{#ix-set:AttributeName = "Minimum"}
@@ -29,7 +30,7 @@ NAMESPACE MeasurementExample
);
END_TYPE
-
+ {S7.extern=ReadWrite}
CLASS PUBLIC Measurements
VAR PUBLIC
{#ix-attr:[Container(Layout.Stack)]}
diff --git a/src/sanbox/integration/ix-integration-plc/src/monster.st b/src/sanbox/integration/ix-integration-plc/src/monster.st
index 74f1bf87..20d18867 100644
--- a/src/sanbox/integration/ix-integration-plc/src/monster.st
+++ b/src/sanbox/integration/ix-integration-plc/src/monster.st
@@ -1,4 +1,5 @@
NAMESPACE MonsterData
+ {S7.extern=ReadWrite}
CLASS MonsterBase
VAR PUBLIC
ArrayOfBytes : ARRAY[0..3] OF BYTE;
@@ -6,12 +7,15 @@ NAMESPACE MonsterData
ArrayOfIxComponent : ARRAY[0..3] OF ixcomponent;
END_VAR
END_CLASS
+
+ {S7.extern=ReadWrite}
CLASS Monster EXTENDS MonsterBase
VAR PUBLIC
DriveA : DriveBase;
END_VAR
END_CLASS
-
+
+ {S7.extern=ReadWrite}
CLASS DriveBase
VAR PUBLIC
Position : LREAL;
diff --git a/src/sanbox/integration/ix-integration-plc/src/stacked/weather.st b/src/sanbox/integration/ix-integration-plc/src/stacked/weather.st
index c04775df..a1313643 100644
--- a/src/sanbox/integration/ix-integration-plc/src/stacked/weather.st
+++ b/src/sanbox/integration/ix-integration-plc/src/stacked/weather.st
@@ -1,6 +1,7 @@
NAMESPACE Layouts.Stacked
{#ix-attr:[Container(Layout.Stack)]}
- {#ix-attr:[Group(GroupLayout.GroupBox)]}
+ {#ix-attr:[Group(GroupLayout.GroupBox)]}
+ {S7.extern=ReadWrite}
CLASS PUBLIC weather EXTENDS weatherBase
END_CLASS
diff --git a/src/sanbox/integration/ix-integration-plc/src/tabbed/weather.st b/src/sanbox/integration/ix-integration-plc/src/tabbed/weather.st
index b858ff4e..84532b31 100644
--- a/src/sanbox/integration/ix-integration-plc/src/tabbed/weather.st
+++ b/src/sanbox/integration/ix-integration-plc/src/tabbed/weather.st
@@ -1,6 +1,7 @@
NAMESPACE Layouts.Tabbed
{#ix-attr:[Container(Layout.Tabs)]}
{#ix-attr:[Group(GroupLayout.GroupBox)]}
+ {S7.extern=ReadWrite}
CLASS PUBLIC weather EXTENDS weatherBase
END_CLASS
diff --git a/src/sanbox/integration/ix-integration-plc/src/taskExample.st b/src/sanbox/integration/ix-integration-plc/src/taskExample.st
index 79cdddaa..cea171da 100644
--- a/src/sanbox/integration/ix-integration-plc/src/taskExample.st
+++ b/src/sanbox/integration/ix-integration-plc/src/taskExample.st
@@ -1,3 +1,4 @@
+{S7.extern=ReadWrite}
CLASS TaskExample
VAR PUBLIC
example : STRING;
diff --git a/src/sanbox/integration/ix-integration-plc/src/test/border.st b/src/sanbox/integration/ix-integration-plc/src/test/border.st
index c3da0bff..bd331321 100644
--- a/src/sanbox/integration/ix-integration-plc/src/test/border.st
+++ b/src/sanbox/integration/ix-integration-plc/src/test/border.st
@@ -1,5 +1,6 @@
{#ix-attr:[Container(Layout.Stack)]}
-{#ix-attr:[Group(GroupLayout.Border)]}
+{#ix-attr:[Group(GroupLayout.Border)]}
+{S7.extern=ReadWrite}
CLASS border
VAR PUBLIC
{#ix-set:AttributeName = "<#Integer From PLC#>"}
diff --git a/src/sanbox/integration/ix-integration-plc/src/test/groupbox.st b/src/sanbox/integration/ix-integration-plc/src/test/groupbox.st
index 6189b723..b4e25e7d 100644
--- a/src/sanbox/integration/ix-integration-plc/src/test/groupbox.st
+++ b/src/sanbox/integration/ix-integration-plc/src/test/groupbox.st
@@ -1,5 +1,6 @@
{#ix-attr:[Container(Layout.Stack)]}
{#ix-attr:[Group(GroupLayout.GroupBox)]}
+{S7.extern=ReadWrite}
CLASS groupbox
VAR PUBLIC
{#ix-set:AttributeName = "<#Integer From PLC#>"}
diff --git a/src/sanbox/integration/ix-integration-plc/src/test/test_primitive.st b/src/sanbox/integration/ix-integration-plc/src/test/test_primitive.st
index 9343779c..1b1bab8f 100644
--- a/src/sanbox/integration/ix-integration-plc/src/test/test_primitive.st
+++ b/src/sanbox/integration/ix-integration-plc/src/test/test_primitive.st
@@ -1,4 +1,5 @@
{#ix-attr:[Container(Layout.Wrap)]}
+{S7.extern=ReadWrite}
CLASS test_primitive
VAR PUBLIC
{#ix-set:AttributeName = "<#Integer From PLC#>"}
diff --git a/src/sanbox/integration/ix-integration-plc/src/weather.st b/src/sanbox/integration/ix-integration-plc/src/weather.st
index 4305548d..d083c99d 100644
--- a/src/sanbox/integration/ix-integration-plc/src/weather.st
+++ b/src/sanbox/integration/ix-integration-plc/src/weather.st
@@ -1,4 +1,5 @@
{#ix[Container(Layout.Tabs)]}
+{S7.extern=ReadWrite}
CLASS weather
VAR PUBLIC
GeoLocation : GeoLocation;
@@ -11,6 +12,7 @@ CLASS weather
END_VAR
END_CLASS
+{S7.extern=ReadWrite}
CLASS weathers
VAR PUBLIC
i : ARRAY[0..50] OF weatherBase;
@@ -22,6 +24,7 @@ TYPE
END_TYPE
TYPE
+ {S7.extern=ReadWrite}
Colors : INT (
RED := 12,
GREEN := 14,
diff --git a/src/sanbox/integration/ix-integration-plc/src/weatherBase.st b/src/sanbox/integration/ix-integration-plc/src/weatherBase.st
index be123c59..a2ed5edd 100644
--- a/src/sanbox/integration/ix-integration-plc/src/weatherBase.st
+++ b/src/sanbox/integration/ix-integration-plc/src/weatherBase.st
@@ -1,6 +1,7 @@
{#ix-attr:[Container(Layout.Stack)]}
- {#ix-attr:[Group(GroupLayout.GroupBox)]}
+ {#ix-attr:[Group(GroupLayout.GroupBox)]}
+ {S7.extern=ReadWrite}
CLASS PUBLIC weatherBase
VAR PUBLIC
Latitude : REAL;
diff --git a/src/sanbox/integration/ix-integration-plc/src/wrapped/weather.st b/src/sanbox/integration/ix-integration-plc/src/wrapped/weather.st
index df7f3a51..423b9802 100644
--- a/src/sanbox/integration/ix-integration-plc/src/wrapped/weather.st
+++ b/src/sanbox/integration/ix-integration-plc/src/wrapped/weather.st
@@ -1,6 +1,7 @@
NAMESPACE Layouts.Wrapped
{#ix-attr:[Container(Layout.Wrap)]}
{#ix-attr:[Group(GroupLayout.GroupBox)]}
+ {S7.extern=ReadWrite}
CLASS PUBLIC weather EXTENDS weatherBase
END_CLASS
diff --git a/src/sanbox/integration/ix-integration-plc/test/test.st b/src/sanbox/integration/ix-integration-plc/test/test.st
index 82bb243b..d1a79018 100644
--- a/src/sanbox/integration/ix-integration-plc/test/test.st
+++ b/src/sanbox/integration/ix-integration-plc/test/test.st
@@ -3,6 +3,7 @@ USING AxUnit;
NAMESPACE MyTest
{TestFixture}
+ {S7.extern=ReadWrite}
CLASS MyTestFixture
{Test}
METHOD PUBLIC MyTestMethod
diff --git a/src/tests.integrations/integrated/src/ax/ax.sln b/src/tests.integrations/integrated/src/ax/ax.sln
new file mode 100644
index 00000000..80193bfb
--- /dev/null
+++ b/src/tests.integrations/integrated/src/ax/ax.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.002.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "integrated", "ix\integrated.csproj", "{DF21559F-EEFD-4415-8A15-889B8E4C059E}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {DF21559F-EEFD-4415-8A15-889B8E4C059E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DF21559F-EEFD-4415-8A15-889B8E4C059E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DF21559F-EEFD-4415-8A15-889B8E4C059E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DF21559F-EEFD-4415-8A15-889B8E4C059E}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {83F81339-940A-43AE-AEE8-4D7495E2F4D6}
+ EndGlobalSection
+EndGlobal