我们有一个共享项目的解决方案,该项目被其他两个项目引用。
在共享项目中,我们有resx
文件,但我们注意到Designer.cs
在 resx 中添加或修改术语时,代码隐藏文件没有更新。显然,共享项目不支持为嵌入式资源生成自定义工具 (ResXFileCodeGenerator)。
我一直在寻找很长一段时间来克服这个限制。我尝试使用所有资源文件创建一个类库,但后来我偶然发现了无法在共享项目中添加对该类库的引用的问题。
有谁知道我该如何解决这个问题?在类库中拥有资源文件,并且能够在我们共享的项目视图中使用它们?
--
除了上面的问题,resx
当我们自己在Designer.cs
文件中添加代码时,我们可以让文件在项目上工作,但看起来仍然存在一些问题。
例如,在视图中,我们可以通过命名空间和术语名称获取翻译,但在 IDE 中它们显示为红色(不可解析)。但是,如果我们运行应用程序,它会正常工作。
更新:resx
在运行应用程序时,我能够在我的视图中显示一个单独项目中的文件的翻译。但是,在视图所在的共享项目中,我对resx
文件的引用仍显示为红色。这可能是因为共享项目没有对翻译项目的引用。一旦构建,具有参考的“真实”项目可以找到resx
翻译,因此在运行应用程序时没有问题。
有什么方法可以告诉 Visual Studio 我的共享项目使用resx
来自单独的类库的文件,以便它找到术语并且不会在我的引用下划线?让智能感知工作会很好。
根据评论中的要求,请参阅我的视图/Html 代码片段:
@using System.Configuration
@{
ViewBag.Title = "ManageCategories";
}
<div class="main container-fluid">
<div id="spis-categories" ng-controller="categoriesController as categoriesVm" ng-cloak ng-init="categoriesVm.siteName='@ConfigurationManager.AppSettings["siteName"]';categoriesVm.pageSize = @inConnexion.Common.Constants.Constants.PageSize">
<div class="modal cust-modal-ontop" tabindex="-1" role="dialog" id="confirmDeleteDialog" data-backdrop="static" data-keyboard="false">
<div class="modal-dialog cust-modal-dialog">
<div class="modal-content cust-modal-content">
<div class="modal-header">
<h4 class="modal-title">@CategoryResources.SPIS_Categories_Maintenance.Button_Delete</h4>
</div>
<div class="modal-body">
<p>@CategoryResources.SPIS_Categories_Maintenance.Confirm_Delete</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" ng-click="categoriesVm.doDeleteSelected();"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> @CategoryResources.SPIS_Categories_Maintenance.Label_Yes</button>
<button type="button" class="btn btn-default" ng-click="categoriesVm.cancelDeleteSelected();"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> @CategoryResources.SPIS_Categories_Maintenance.Label_No</button>
</div>
</div>
</div>
</div>
然后查看此屏幕截图,其中无法识别引用:
另请注意,也无法识别 ViewBag。但是在运行时,一切都按预期工作......