我正在使用ResXResourceWriter/ResXResourceReader在TFS中创建/更新resx文件,它不会生成.Designer.cs文件.我看到Resgen创建了.Designer.cs.如何以编程方式调用以在某个TFS文件路径生成.Designer.cs?这是这样的吗?
ProcessStartInfo startInfo = new ProcessStartInfo(@"C:\Program Files\Microsoft.NET\SDK\v2.0 64bit\Bin\ResGen.exe");
startInfo.WindowStyle = ProcessWindowStyle.Minimized;
startInfo.Arguments = "ResourceName.resx /publicClass /str:cs, Namespace, ResourceName, ResourceName.Designer.cs";
Process.Start(startInfo);
Run Code Online (Sandbox Code Playgroud) 我只是试图用resgen运行NANT,但我似乎无法找到我需要下载的内容,以便在' C:\ Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin\resgen中提供它. exe '在我的服务器上.
谢谢.
我编写自己的服务器端控件并使用在.resx文件中存储的图像.在控制台应用程序中,此代码工作正常:
ResXResourceReader rsxr = new ResXResourceReader("Resource1.resx");
foreach (DictionaryEntry d in rsxr)
{
Console.WriteLine(d.Key.ToString() + ":\t" + d.Value.ToString());
}
rsxr.Close();
Run Code Online (Sandbox Code Playgroud)
但在这里
protected override void RenderContents(HtmlTextWriter output)
{
ResXResourceReader rsxr = new ResXResourceReader("Resource1.resx");
base.RenderContents(output);
foreach (DictionaryEntry d in rsxr)
{
output.Write(d.Key.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
我感到很恐怖:
找不到文件'C:\ Program Files\Common Files\Microsoft Shared\DevServer\10.0\Resource1.resx'
我尝试使用ResourceManager但它需要.resource文件.我无法访问resgen工具(命令promt不理解[resgen]命令)并安装它(发生错误).
第一:为什么我不能读.resx?
第二:如何安装resgen工具?
谢谢.
我在我的项目中使用2个resx文件,一个用于en-Us,另一个用于de-DE(本地化).
我使用resgen将这些resx文件编译为资源文件.
有谁可以帮我解决以下两个问题:
如果我需要在项目中添加更多resx文件,比如fr-FR,我是否需要在项目中为fr-Fr添加新的resx文件后再次编译项目,或者我可以创建resx文件并生成.使用resgen工具从resx获取资源文件而不编译Visula工作室项目?
使用resgen从resx生成的.resource文件是否可以嵌入到exe中,还是作为独立的编译二进制文件与使用资源文件的exe一起保留?
我的理解是推荐的WPF本地化方法是使用LocBaml工具将可本地化的项目提取到例如csv文件中,将项目翻译成所需的语言并从该csv文件重新生成新的sattelite程序集.然而,根据我的实验,这似乎与从resources.resx文件生成附属程序集相冲突,因为它们既没有将资源组合到单个资源文件中,而是简单地覆盖任何现有的附属程序集.
是否有一种推荐的方法(甚至更好,一种现有的工具)用于对来自LocBaml/generate的输出进行"合并"以及在resources.resx文件上运行resgen的输出(默认情况下由VS在构建时完成).有人在那里解决同样的问题吗?
这是针对VS2010下的Windows窗体项目.
这是我从MSBuild得到的消息:
错误RG0000:无法加载文件或程序集"3rdPartyAssemblyUsedByProject,Version = 1.1.263.0,Culture = neutral,PublicKeyToken = 687bce93d7ce902c"或其依赖项之一.访问被拒绝.第174行,第5行.[C:\ xxx\src\BackOffice.csproj]
这是用于启动它的命令行:
c:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/msbuild.exe BackOffice.csproj /p:PlatformTarget=x86
Run Code Online (Sandbox Code Playgroud)
resx文件的第174行归因于错误:
<data name="generalImages.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
...
</value>
</data>
Run Code Online (Sandbox Code Playgroud)
generalImages是一个ImageList控件,其中包含用于表单上按钮的图像.
这在我的开发机器上工作正常,但在我的构建服务器上是一个问题.我的工作站是Windows 7 64位,构建服务器是Windows 2008 Server 64位.构建服务器确实安装了Windows 7.1 sdk.
如果我使用v3.5框架中的msbuild,则编译成功完成.我确实得到了这个警告消息,这个消息在这一点上没有引起任何问题:项目文件包含ToolsVersion ="4.0",这个版本的MSBuild不支持.像处理ToolsVersion ="3.5"那样处理项目.
这样做的全部原因是实际上以4.0框架为目标并使用方法默认值,这在定位3.5时不起作用.
我在这个搜索和搜索过.我遇到了很多与32位/ 64位问题有关的点击 - 图像格式是问题所在,但这不是我的问题.此错误表示"访问被拒绝".我确实使用fuslogvw来试图找出拒绝访问的来源 - 但我没有看到它,但它实际上并没有找到任何程序集.程序集不在GAC中,而是在项目文件引用所在的项目文件的切向目录中.
这是融合日志:
*装配活页夹日志条目(2010年8月30日下午1:44:48)*
操作失败.绑定结果:hr = 0x80070002.该系统找不到指定的文件.
程序集管理器从以下位置加载:C:\ Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll在可执行文件C:\ Program Files\Microsoft SDKs\Windows\v7.1\Bin\ResGen.exe --- A下运行详细的错误日志如下.
===预绑定状态信息=== LOG:User = domain\user LOG:DisplayName = 3rdPartyAssemblyUsedByProject,Version = 1.1.263.0,Culture = neutral,PublicKeyToken = 687bce93d7ce902c(完全指定)LOG:Appbase = file:///C:/ Program Files/Microsoft SDKs/Windows/v7.1/Bin/LOG:Initial PrivatePath = NULL LOG:Dynamic Base = NULL LOG:Cache Base …
我有一个任务,我正在重建我们为许多项目丢失的一些来源.最多,它已经很好了,但当然在最后一个项目中,我遇到了一个错误,我无法找到任何解决方案.
我使用Reflector 8.1反编译DLL,它给了我所有源代码和一堆.resources文件.我一直在使用resgen程序将它们转换回.resx文件以包含在项目中.一个档案让我感到悲伤.请帮忙.
>resgen foo.resources foo.resx
Read in 106 resources from "foo.resources"
ResGen : error RG0000: Error while writing the output file "Resources.resx"
ResGen : error RG0000: Specific exception: "InvalidOperationException" Message: "Item named 'IncomingRing' of type 'System.IO.PinnedBufferMemoryStream' cannot
be added to the resource file because it is not serializable."
Run Code Online (Sandbox Code Playgroud)
2个错误.