当我在Visual Studio 2012中创建一个简单的SharePoint 2013项目并且我想部署它时,它部署得很好,但是Dll不在全局程序集缓存中.在"高级"选项卡中,我添加了要部署的项目程序集.
在不同的测试中,我将Assembly Deployment Target选项设置为GlobalAssemblyCache,将Include Assembly In Package设置为True,并从第一个场景中描述的包中删除了dll.
Project FW版本是4.5.机器是虚拟机64位,Windows Server 2008.我也试过将项目的平台目标更改为X64和任何CPU而没有运气.
我试图使用gacutil工具手动添加DLL,但它也没有部署.它可能是与4.5框架相关的东西吗?我不能手动部署4.5中的任何Dll,但所有其他工作.
有任何想法吗?谢谢.
是否可以仅使用一个.htaccess文件为不同的IP地址应用不同的重写规则?
我有这些规则:
RewriteEngine on
#RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.123
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(.*)$ /version/1.0/index.php?r=$1 [L]
RewriteRule ^(.*)$ /version/2.0/index.php?r=$1 [L]
Run Code Online (Sandbox Code Playgroud)
最后两个规则都可以正常工作,我可以选择启用哪个规则.我想以某种方式为自己启用一个规则来处理开发版本和其他生产规则.
我能以某种方式使用IP地址过滤吗?这甚至可能吗?有没有其他替代解决方案,所以我可以启用两个规则,一个用于我的开发,另一个用于生产?
我想知道是否可以仅使用 CSS 来设置嵌套无序列表的样式,而不使用任何脚本。问题是 CSS 需要适用于列表树的任何深度。
例如,我有一个列表:
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li class="holder">
<ul>
<li>Item 4</li>
<li>Item 5</li>
<li class="holder">
<ul>
<li>Item 6</li>
<li>Item 7</li>
<li>Item 8</li>
<li class="holder">
<ul>
<li>Item 9</li>
<li>Item 10</li>
<li>Item 11</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
这是我的 CSS:
li{
background: gray;
border: 1px solid;
display: block;
margin: 2px;
}
.holder{
background: none;
border: none;
}
/*replace these styles*/
li > ul > li{
background: white;
}
li > ul > li …
Run Code Online (Sandbox Code Playgroud) 我的插件中有一个类似于以下内容的表格:
<!-- Client form -->
<form>
<?php wp_nonce_field('my_form','_my_token'); ?>
<!-- Additional form fields -->
</form>
Run Code Online (Sandbox Code Playgroud)
它生成这两个字段:
<input type="hidden" id="_my_token" name="_my_token" value="abcdefghij" />
<input type="hidden" name="_wp_http_referer" value="/wp-admin/tools.php?page=my-plugin%2Fplugin.php" />
Run Code Online (Sandbox Code Playgroud)
提交此表单时,我将按照以下方式进行验证:
//Server's side check
if(!wp_verify_nonce($_POST['_my_token'],'my_form')){
echo 'Invalid token! Expected token: '. wp_create_nonce( 'my_form');
exit;
}
Run Code Online (Sandbox Code Playgroud)
问题在于,在服务器上,令牌永远不会更改,它始终是相同的,并且在此步骤中验证始终会失败。如果我从WordPress注销,然后再次登录,则客户端令牌已更改,但在服务器上相同。
我已经在本地测试过,当我再次登录时,它总是在两侧更改令牌,但是在我的生产环境中,它仅在客户端更改。
看起来它是以某种方式缓存的,但是不确定到底是什么。我使用过WP Super Cache插件,但是现在已禁用它,并且此问题仍然存在。我在生产站点上启用了多站点功能,但是我认为这与它无关。有任何想法吗?