Если вы добавляете файл в качестве ресурса, вам не нужно иметь дело с путями во время выполнения.
- Добавьте файл в проект Visual Studio и установите для действия сборки значение «Встроенный ресурс».
Имя ресурса - это пространство имен проекта по умолчанию + любые папки, как и любой файл кода в проекте.
string resourceName = "DefaultNamespace.Folder.docx.xsl";
Если у вас есть код в той же папке, выможно сделать так
string resourceName = string.Format("{0}.docx.xsl", this.GetType().Namespace);
- Затем вы читаете файл, используя поток ресурсов
Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName)
В вашем случае это будет выглядеть так:
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
using (var reader = XmlReader.Create(stream))
xslt.Load(reader);