• AutoCAD.Net/C#.Net QQ群:193522571 Resources.resx资源文件出问题后无法与Resources.Designer.cs放在上下级,怎么办?


    相信很多人都遇到过这样的问题,Resources.resx出了问题,然后系统给自动重新生成了一个Resources1.resx,然后你又不想用这个自动生成的,于是你删除了Resources1.resx,此时你还想用那个Resources.resx。

    而当你把Resources.resx加入到项目中时,Resources.Designer.cs没有自动跟在它下面,于是你又把Resources.Designer.cs加入到项目中。

    而此时,它们两个是平级地放在项目中,你手动把它们拖入到Properties下面,但是Resources.Designer.cs怎么也无法拖到Resources.resx下面一级。

    1.关闭VS,用记事本打开你的项目文件,xxx.csproj文件;

    2.ctl+f,搜索AssemblyInfo.cs,找到此行  <Compile Include="PropertiesAssemblyInfo.cs" />;

    3.在其下面加入下面的几行:

        <Compile Include="PropertiesResources.Designer.cs">
          <AutoGen>True</AutoGen>
          <DesignTime>True</DesignTime>
          <DependentUpon>Resources.resx</DependentUpon>
        </Compile>

    这样打开后,你会发现搞定了:

    而有时候你会发现,即使放到下面一级去了,你还是不能将它们两个关联起来,这又是什么原因呢?

    可能是:你的Resources.resx的自定义工具是空的,这就是你人为修改了此文件后造成它为空的。

    你需要把在这个地方输入:ResXFileCodeGenerator

    此时会出现一个resources1.designer.cs文件,你需要保存VS后,用记事本修改csproj文件,把1去掉,当然你得先删除那个resources.designer.cs文件了。

    然而,你发现,仍然有问题,还需要复制这个到里面去:

        <EmbeddedResource Include="PropertiesResources.resx">
          <Generator>ResXFileCodeGenerator</Generator>
          <LastGenOutput>Resources.Designer.cs</LastGenOutput>
          <SubType>Designer</SubType>
        </EmbeddedResource>

    然而,复制完了,你发现还他妈的有问题,什么问题呢?

    就是

    “Resources”不可访问,因为它具有一定的保护级别

    其实,这个时候实际上已经是好了,只是好像它还没有缓过来。

    我是弄了好久,搞不定,重新打开VS,也不行。

    我重新编译,也通过了,然而还是依然。

    最后,我在Resources.resx中手动加了一个图形,加入后,居然神奇般好了!

    shit!

  • 相关阅读:
    BZOJ3052:[WC2013]糖果公园
    浅谈莫队
    BZOJ2120:数颜色(莫队版)
    BZOJ3809:Gty的二逼妹子序列
    BZOJ3289:Mato的文件管理
    BZOJ2038:[2009国家集训队]小Z的袜子
    浅谈分块
    Django框架之 Cookie与Session组件
    Django框架之 forms组件
    Django框架之 自定义分页器组件
  • 原文地址:https://www.cnblogs.com/swtool/p/13445931.html
Copyright © 2020-2023  润新知