Пути в JGit всегда должны указываться относительно корневого каталога репозитория. Также разделитель пути - '/' на всех платформах.
Следовательно, ваш код должен выглядеть следующим образом.
String path = "path/to";
String fileName = "file.ext";
...
new PathEdit(path + "/" + fileName)
, чтобы получить такой путь: path/to/file.ext
Также обратите внимание, что большинству API JGit требуются относительные пути, то есть не должно быть ведущего '/'.
.Многие разработчики элементов управления связывают свой webresources использование второго метода, который Вы описываете - добавление их как встроенные ресурсы в .dll. Таким образом, можно распределить средства управления, не имея необходимость копировать набор папок и файлов в каждый веб-сайт, который хочет использовать их и удостовериться пути к папкам все соответствие, и т.д. Вы также получаете преимущество намного более легкой локализации/интернационализации Ваших ресурсов.
Однако вещью WebResource.axd является недостаток. Можно обычно "отлаживать" URL с чем-то как Firebug для наблюдения то, что на самом деле было возвращено из запроса, но я соглашаюсь, это может быть боль, если что-то не работает правильно. Другой недостаток состоит в том, если у Вас есть десятки ресурсов для одного управления сервером, особенно если на них ссылаются многократно каждый (думайте о treeview с сотнями маленьких изображений на узлах) - затем URL может добавить тонну фактических байтов к заключительному выводу HTML.
Если бы Ваше распределение/локализация должно перевесить Ваши потребности оптимизации/отладки, я рассмотрел бы встраивание ресурсов.
В противном случае затем Вы могли определенно сделать № 3 - копирование всего в Ваш веб-сайт с помощью Подверсии. Проверьте Внешний облик SVN для того, как настроить его. Немного времени, которое инвестируют в изучение его теперь, могло бы сохранить Вас тонны в будущем!
Я вынул простой способ и поместил все мои проекты в единое решение. Затем я создал проект WebUserControlLibrary, в который я поместил все совместные управления.
Для получения их в другом проекте я затем настроил событие сборки для каждого проекта скопировать UCS в специальную папку:
copy "$(SolutionDir)WebUserControlLibrary\UserControls\*.ascx"
"$(ProjectDir)ImportedUserControls\UserControls"
И, конечно, сошлитесь на WebUserControlLibrary из проектов, для которых нужен он.
Преимущества этого подхода:
Недостатки: