我有一个引用类库CL的Web应用程序项目WAP。 CL需要一些xml配置文件才能正常工作。
在WAP的csproj中,我添加了一个PostBuildEvent来将必要的XML文件复制到TargetDir。当我构建时,文件夹结构很好; bin文件夹包含CL和xml文件。
当我运行webservice时,CL会抛出一个错误,因为它找不到xml文件:
System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\accountreplication\284ca636\19f84c15\assembly\dl3\bf68503c\34888845_bd69cb01\XmlTemplates\Clusters.xml'.
根据我的阅读,ASP.NET将动态编译我的文件并将它们放在'Temporary ASP.NET'文件夹中。所以我的问题似乎是/ bin /文件夹中的xml文件没有复制到那个临时文件夹中。
有什么想法我应该怎么做以解决这个问题?要么复制临时文件夹中的xml文件,要么直接从/ bin /目录中实际提供文件(不确定是否可行)。理想情况下,我不想在/ bin /目录中添加环境变量。
谢谢!
答案 0 :(得分:0)
尝试将XML文件添加为嵌入式资源,如果在visual studio中的XML文件上有属性,则可以选择更改它。
此致
伊恩
答案 1 :(得分:0)
对此不是100%肯定,但如果您转到解决方案中的xml文件的属性窗口,则应该能够将“复制到输出目录”设置为“始终复制”或“如果更新则复制”。这应该指示它将其复制到需要的地方。
答案 2 :(得分:0)
我们遇到了类似的问题,最后向appSettings
添加了web.config
键/值,我们的DLL用它来查找所需的文件。文件是手动复制的。
<configuration>
...
<appSettings>
<add key="sExeFolder" value="C:\Project\Support_Files"/>
</appSettings>
...
</configuration>