尝试部署C#插件时,Web资源名称不包含有效前缀

时间:2015-01-21 14:28:21

标签: c# plugins dynamics-crm-2011

我正在使用Visual Studio 2012中的CRM开发人员工具,我正在学习如何使用CRM开发人员工具为CRM编写插件代码。我正在为crmlab编写插件。在尝试部署我的CRM解决方案时,它会一次又一次地让我遇到这个错误:

Webresources名称不包含有效前缀

我已经检查过它说有问题的行,但我找不到丢失或需要添加的东西。

<Target Name="WebResourcesDeploy" DependsOnTargets ="GetWebResourcesFromReferences">
<AddWebResource
            DiscoveryServer="$(CRMDiscoveryServer)"
            Port="$(CRMDiscoveryServerPort)"
            Scheme="$(CRMDiscoveryServerScheme)"
            Organization="$(CRMOrganization)"
            Password="$(CRMUserPassword)"
            UserName="$(CRMUserName)"
            Domain="$(CRMUserDomain)"
            SolutionName="$(CRMSolutionName)"

            Items="@(CRMWebResource)"
    XAPOutputs="@(_SilverlightXapFiles)"
    XAPReferences="@(_SilverlightApplications)"
    MSBuildProjectFullPath="$(MSBuildProjectFullPath)"        
                 />

请帮助我,因为这会阻碍我的学习过程!

2 个答案:

答案 0 :(得分:0)

以下是一些其他有用的信息。Web Resources for Microsoft Dynamics CRM

  

相对网址

     

从不支持使用的区域引用Web资源时   $ webresource:指令,可以使用相对URL。启用   为此,我们建议您使用一致的命名约定   反映虚拟文件结构的Web资源。

     

将始终包含解决方案发布者的自定义前缀   作为Web资源名称的前缀。这可以代表一个   该发布者添加的所有Web资源的虚拟“root”文件夹。   然后,您可以使用正斜杠字符(/)来模拟文件夹   将受到Web服务器尊重的结构。

MSDN博客中的一些有用的Guidelines(这些也可以在SDK中找到):

  
      
  • 从我们的设计师那里引用网络资源是直截了当的,设计师将负责做正确的事情   引用网络资源
  •   
  • 从CRM组件引用没有设计器的Web资源(例如Ribbon,Sitemap)应始终使用$ webresource
      指令
  •   
  • 从其他网络资源引用网络资源(例如,引用js库的html网页)应始终使用RELATIVE路径。
  •   

答案 1 :(得分:0)

我知道这有点晚了。我最近遇到了同样的问题。我只是删除了Visual Studio添加到解决方案中的默认Silverlight项目,并且我能够成功部署该插件。