我正在从我的UI Web应用程序中的控制器中调用服务类库项目中的助手方法。我无法获得服务项目中模板的正确途径。我已经尝试了数十种方式,但是每当完整路径的基本路径都指向UI项目时。
c: users tfd oneDrive testemal.ui testemal.ui bin bin debug debug netcoreapp2.0 emailService emailTemplates emagemaster_htmaster_htmbody.html
我正在服务类图书馆项目中构建路径
private static readonly string ThisDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
这来自这篇文章的接受解决方案,Mark Amery接受了答案
类库路径SO
我尝试了所有路径和汇编的置换,但是每个人都返回Web UI应用程序的路径。
如何在不进行硬编码或替换的情况下获取服务类库项目的基本路径?
你不能。类库将汇总到引用它的应用程序中。构建/发布后,库的DLL与您应用程序的所有其他DLL相同的目录中,这意味着任何路径始终与您的Web App目录相关,而不是类库库目录。
尚不完全清楚您要在此处尝试实现的目标,但是如果您的类库库中只有一些文件或类库中需要参考的文件或文件,则需要将它们添加到项目中并将其设置为在Visual Studio中的每个文件中的属性窗格中复制构建。这将导致该文件乘坐乘车并最终进入您的Web应用程序的构建/发布目录。您的路径仍然与Web应用程序相关,而不是类库。
另外,您可以拥有一个构建任务,可以做副本,但是设置更为复杂。