Возможно ли создать пользовательский .NET CLI-инструмент, который является частью решения и не распространяется через nuget?Инструмент персонализированного решения .NET Core CLI tool
Я попытался ссылаться на пользовательский инструмент в разделе инструментов project.json, как на обычную зависимость, но это совсем не сработало.
project.json ссылки на пользовательский инструмент:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
},
"tools": {
"MyTool": "1.0.0-*"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
И в project.json самого инструмента:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true,
"outputName": "dotnet-mytool"
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
У вас есть какие-либо другие идеи, как сценарий, при котором инструмент должен генерировать код для библиотеки в том же растворе (на основе внешнего файла определения) можно было бы сделать альтернативно? Возможно, в какой-то чистой и переносной форме. – Fionn
Может быть, написать автономное приложение и запустить его как прекомпиляционный скрипт? Приложение будет генерировать код, который может быть использован при создании проекта (если это ваш сценарий). – Pawel
Это был мой первый подход, но спецификация редко менялась, поэтому нет необходимости запускать ее при каждом компиляции. Я думаю, на данный момент это ручное написание генератора, пока инструменты не работают внутри тоже :) – Fionn