标签: app-globalresources

36
推荐指数
2
解决办法
3万
查看次数

AppHarbor:不允许使用目录'/ App_GlobalResources /',因为应用程序已预编译

我尝试将我的ASP.NET WebForms应用程序部署到AppHarbor.在成功部署后,我得到了

The directory '/App_GlobalResources/' is not allowed because the application is precompiled
Run Code Online (Sandbox Code Playgroud)

我在应用程序设置中禁用了预编译,但它没有帮助.我该怎么办?我应该更改项目中的某些设置吗?这是服务器配置吗?

我找到了一个删除PrecompiledApp.config的解决方案,但我无法在AppHarbor上访问它.

asp.net webforms app-globalresources appharbor

10
推荐指数
1
解决办法
2万
查看次数

你是如何生活在App_GlobalResource中的Moq ares?

我正在为MVC3 Web项目中的控制器编写单元测试,但是当我们尝试访问这样的资源时,我的测试会抛出异常:

return Index(Resources.Strings.MyStringResource);
Run Code Online (Sandbox Code Playgroud)

该资源是一个.resx标题为的文件Strings.

我正在使用Moq库来实现HttpContextBase功能的单元测试,所以我想知道如何使用Moq库来访问App_GlobalResource.

任何帮助或指针将不胜感激!

.net unit-testing moq app-globalresources asp.net-mvc-3

9
推荐指数
1
解决办法
2774
查看次数

使用App_GlobalResources在ASP.NET MVC 4中进行本地化

我想完成两件事:

  1. 本地化"FieldMustBeDate"和"FieldMustBeNumeric"的"内置"错误消息.
  2. 本地化您将遇到的一些其他错误消息,例如"PropertyValueRequired".

通过对问题1 使用http://forums.asp.net/t/1862672.aspx/1MVC 4忽略问题2的DefaultModelBinder.ResourceClassKey,我已经设法让两者都在本地工作.

但是,一旦我发布到网站,"内置"错误消息默认返回到英语,而其他错误消息保持本地化.

我已经阅读了几个应该避免使用App_GlobalResources的地方,但是我不能在不使用它的情况下完成问题1.

我创建了一个名为"WebResources.resx"的.resx文件,将Build Action设置为"Embedded",将Copy to Output Directory设置为"Do no Copy",将Custom Tool设置为"PublicResXFileCodeGenerator"并设置Custom工具命名空间为"资源".项目本身设置为仅发布所需的文件.

我的Global.asax.cs包含以下(相关)代码:

  ClientDataTypeModelValidatorProvider.ResourceClassKey = "WebResources";  
  DataAnnotationsModelValidatorProvider.RegisterAdapter(
  typeof(RequiredAttribute),
  typeof(MyRequiredAttributeAdapter));
Run Code Online (Sandbox Code Playgroud)

类MyRequiredAttributeAdapter包含以下代码:

public class MyRequiredAttributeAdapter : RequiredAttributeAdapter
{
    public MyRequiredAttributeAdapter(
        ModelMetadata metadata,
        ControllerContext context,
        RequiredAttribute attribute
    )
        : base(metadata, context, attribute)
    {
        if (attribute.ErrorMessageResourceType == null)
        {
            attribute.ErrorMessageResourceType = typeof(Resources.WebResources);
        }
        if (attribute.ErrorMessageResourceName == null)
        {
            attribute.ErrorMessageResourceName = "PropertyValueRequired";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是在本地工作但是有没有人知道如何在发布之后让"内置"消息工作?

谢谢您的帮助!

最好的问候,安德烈亚斯

asp.net localization app-globalresources asp.net-mvc-4

7
推荐指数
1
解决办法
7656
查看次数

如何从.resx文件获取字符串到.js文件

我想用两种不同的语言显示警告信息.我正在使用asp.net App_GlobalResources.我可以在script.js文件中使用它吗?

javascript asp.net resx app-globalresources

6
推荐指数
1
解决办法
2万
查看次数

默认的ASP.NET主题

是否可以为ASP.NET网站创建默认主题?

例如,如果我有一个名为"Default"的主题,"NewTheme"并且我选择了一个名为的主题,并且我引用了一个"NewTheme""Default"主题中不存在但在主题中存在的文件,如:

<asp:image id="img" runat="server" ImageUrl="~/Images/image.jpg" />
Run Code Online (Sandbox Code Playgroud)

"/App_Themes/Default/Images/image.jpg"如果它不存在,那么可以采取"/App_Themes/NewTheme/Images/image.jpg"吗?

此外,如果"NewTheme"中不存在CSS类,但它在"默认"中存在,则可以采用"默认"吗?事实上,我认为如果它首先采用所有默认样式会更好,然后覆盖任何"NewTheme"发生冲突的情况.

我知道全局引用的工作方式与此类似,因为如果我选择了"es"本地化,并且webreference.resx.es文件中不存在密钥但它确实存在webreference.resx,那么它将从那里获取值.

我认为这将是ASP.NET主题的重要功能,因为我可以想象不同的主题只更改了某些图像,并且某些样式发生了变化.我无法想象每个主题的每个图像和每种风格总是完全不同.因此,如果没有这个功能,它将成为复制样式/图像的情况,我不喜欢它(因为显而易见的原因!).

asp.net themes default app-globalresources

6
推荐指数
1
解决办法
733
查看次数