resx文件和cs文件自动关联的工具解决方法

在反编译程序资源例如reflector中,我们常碰到resx文件和cs源代码文件分离的问题,终极解决方法是修改项目csproj文件,手工修改其架构,但碰到大量的就需要使用正则表达式替换,然后在vs中重新全部加载。

第一种解决方法,点击需要关联的cs文件,然后通过项目菜单中添加新项,选择resx文件,则会自动关联,这适用于单一文件,不适合大批量关联。

第二种解决方法,简单修改项目文件。

打个比方,在项目文件中,原来是

<EmbeddedResource Include="DZJ.LSSK.Stock\frmStockModify.resx" />

我们只要修改为:

<EmbeddedResource Include="DZJ.LSSK.Stock\frmStockModify.resx" >
<DependentUpon>frmStockModify.cs</DependentUpon>
</EmbeddedResource>

  第三种方法来源于第二种方法,适合批量。首先要将resx文件放到cs相同目录下,并且同名,方法网上多得是,就不在这里啰嗦了;其次没必要使用原有的ResXFileCodeGenerator工具

这里举两种情况,一种情况是同在根目录,第二种情况是都在子目录,下面的表达式是都在二层子目录,第一种情况参看代码修改:

正则表达式为将

<EmbeddedResource\sInclude=\"([^\"]*)\\([^\"]*).resx"\s\/>

  

替换为 

<EmbeddedResource Include="$1\\$2.resx">
<DependentUpon>$2.cs</DependentUpon>
</EmbeddedResource>

  收工。自己用的时候根据情况不同一定要先测试,后果自负。

 

posted on 2013-10-17 12:33  lawyia  阅读(811)  评论(0编辑  收藏  举报