我在 MVC4 解决方案中创建了几个 App_LocalResource 文件夹以及许多 resx 文件。但是,当 Web 部署到 Azure 时,它们不会在更改集中被识别/找到/列出。没有任何文件夹被推送到 Azure。我无法将它们添加到解决方案中,因为它们已经存在?我通过VS创建了文件夹,所以我想它们包含在创建解决方案中。
我该怎么办?
我在 MVC4 解决方案中创建了几个 App_LocalResource 文件夹以及许多 resx 文件。但是,当 Web 部署到 Azure 时,它们不会在更改集中被识别/找到/列出。没有任何文件夹被推送到 Azure。我无法将它们添加到解决方案中,因为它们已经存在?我通过VS创建了文件夹,所以我想它们包含在创建解决方案中。
我该怎么办?
您需要将每个 .resx 文件的“复制到输出目录”属性设置为“如果较新则复制”或“始终复制”。如果您不更改 App_LocalResources 文件夹中任何 .resx 文件的此属性,则整个文件夹不会显示在生成的云服务包中,也不会出现在 Project/csx/Debug/roles 中/rolename/approot/bin 文件夹,当您在本地调试时。当您在不更改每个 .resx 文件的“复制到输出目录”属性的情况下部署包时,通过 Web 部署上传时,它们不会包含在您的服务包中。
此外,从可维护性的角度来看,我建议研究使用 Azure Tables 而不是 .resx 文件。它们在部署环境中更加灵活,因为如果需要,可以在运行时更改表实体,而无需重新部署。
我Build Action
将 resx 文件更改为Content
而不是Embeded Resource
. Embeded Resource
将资源编译到您无法以通常方式访问的 dll 中。