问题:C#项目中一般为了方便管理,会对一类功能的文件创建一个文件夹。然后生成项目时,将文件复制到生成目录。如果文件在某一文件夹下,那么复制的时候也会位于生成目录下的一个文件夹中。此时对文件的引用就要特别小心。
文件引用:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
此时就会导致找不到引用文件。
解决方法:
1.让文件复制的时候,直接将文件复制到生成目录,而不创建【loghelper】文件夹。
2.代码中对文件的引用路径做处理。
第一种方法实现起来比较麻烦,需要改项目配置文件,一般采用第二种方法比较方便。
只需要将引用文件路径修改即可
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "LogHelper/log4net.config", ConfigFileExtension = "config", Watch = true)]
扩展:
如果引用的文件在生成目录的外面一层,
此时需要修改文件路径为:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "../log4net.config", ConfigFileExtension = "config", Watch = true)]