将资源文件从一个项目导入另一个项目后,我遇到了问题。
我使用Visual Studio Ultimate 2013,C#,Visual Online。
我的项目中有资源文件。当我创建一个新项目并将文件和这些资源导入到一个新项目时,MY_RESOURCE.Designer.cs不在它自己的MY_RESOURCE.resx部分 - 它就在它旁边。
另外,在项目文件(.csproj)中,我发现这些文件的结构不同。
通常:
<Compile Include="Resources\Main\Main.en-US.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Main.en-US.resx</DependentUpon>
</Compile>
...
<EmbeddedResource Include="Resources\Main\Main.en-US.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Main.en-US.Designer.cs</LastGenOutput>
</EmbeddedResource>
导入后:
<Compile Include="Resources\Main\Main.en-US.Designer.cs" />
...
<EmbeddedResource Include="Resources\Main\Main.en-US.resx" />
我找到了一些像这个问题的解决方案,将Recourse的“访问修改器”属性(在其中)从“无代码生成”更改为“公共”,但在此之后,resx文件创建了新的子项 - MY_RESOURCE1.Designer.cs(不是我的MY_RESOURCE.Designer.cs),所以这不是我的问题的解决方案。
因此,在导入它们时,我必须创建新的资源文件,并将旧项目资源文件中的单词复制并粘贴到新文件中。
有人可以建议我将Designer.cs文件绑定到复制粘贴的resx文件吗?
答案 0 :(得分:4)
C#代码(“Main.en-US.Designer.cs”)由VS自动生成,您必须检查Visual Studio是否正确管理您的resx文件。要实现此目的,请检查resx文件的自定义工具属性:
这可以解决您的问题。
答案 1 :(得分:1)
之前我遇到过同样的问题。我最终做了同样的,复制粘贴。 但你有没有尝试更改项目文件。您的新项目应该在设计器文件节点中包含此节点:
<DependentUpon>Main.en-US.resx</DependentUpon>
我想说,首先导入文件,然后在设计器文件节点中编辑项目文件并在上面添加此节点,即
<Compile Include="Resources\Main\Main.en-US.Designer.cs">