小编Pet*_*ijn的帖子

参考和平台之间的 Visual Studio 冲突

由于我将 C# ASP.Net 项目的目标框架升级到 4.6.1,因此在构建期间我收到了很多冲突警告。50 多条消息,例如:

考虑从版本“0.0.0.0”[] 到版本“4.0.2.0”[C:\Program Files (x86)\ Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.InteropServices.RuntimeInformation.dll] 解决冲突并摆脱警告。

它们都与 .NET System 库相关。我当然可以重新映射所有引用,但不知何故我认为这不是正确的解决方案。如果我用输出“详细”重建,我会得到更多信息:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\Microsoft.NET.Build.Extensions.ConflictResolution.targets(33,5):消息 NETSDK1041:遇到“Reference:System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL”和“Reference:System.Runtime.InteropServices.RuntimeInformation”之间存在冲突。NETSDK1033:选择 'Reference:System.Runtime.InteropServices.RuntimeInformation' 因为 AssemblyVersion '4.0.2.0' 大于 '4.0.1.0'。

不知何故,文件夹 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.6.1 和 C:\Program Files (x86)\Microsoft Visual Studio 中的 .NET 框架之间似乎存在版本冲突\2017\Professional\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib.

我不知道如何确保它使用来自同一个地方的引用。任何人都可以帮忙吗?

.net msbuild visual-studio

12
推荐指数
1
解决办法
6961
查看次数

ORDER BY取决于参数导致错误

我有一个存储过程,它依赖于一个参数来启动一个命令:

DROP PROCEDURE [dbo].[GetUsersByClusterAndUserName]
  GO
CREATE PROCEDURE [dbo].[GetUsersByClusterAndUserName]
    @SortField [nvarchar] (256) = 'UserName',
    @SortOrder [int] = 0
AS
    SELECT * FROM [User] 
    ORDER BY
    CASE WHEN @SortOrder = 0 THEN
        CASE 
            WHEN @SortField = 'UserName' THEN User_UserName 
            WHEN @SortField = 'LastLoginDate' THEN User_LastLoginDate 
            WHEN @SortField = 'CreationDate' THEN User_CreationDate END
    END ASC,    
    CASE WHEN @SortOrder = 1 THEN
        CASE
            WHEN @SortField = 'UserName' THEN User_UserName 
            WHEN @SortField = 'LastLoginDate' THEN User_LastLoginDate
            WHEN @SortField = 'CreationDate' THEN [User_CreationDate] END
    END DESC …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-order-by

8
推荐指数
1
解决办法
70
查看次数

同一个表上的多个全文索引

我有一个包含不同语言列的表。我想在这张表上建立多个全文索引,每种语言一个。在 MsSQL (Azure) 中甚至有可能吗?我有以下代码:

IF NOT EXISTS (SELECT 1 FROM sys.fulltext_catalogs  WHERE NAME = 'BlaBlaFullTextCatalog')
    CREATE FULLTEXT CATALOG BlaBlaFullTextCatalog AS DEFAULT;

CREATE FULLTEXT INDEX ON [IDX_c7296e1d-8cea-40f7-9204-8f017b1e14a8_tmp] ([OBJ_FreeText_de-DE] LANGUAGE 1043) KEY INDEX [PK_bbca2bbb-a84e-4bd2-b908-92c5329652a5] ON [BlaBlaFullTextCatalog]
    WITH CHANGE_TRACKING = AUTO;

CREATE FULLTEXT INDEX ON [IDX_c7296e1d-8cea-40f7-9204-8f017b1e14a8_tmp] ([OBJ_FreeText_nl-NL] LANGUAGE 1043) KEY INDEX [PK_bbca2bbb-a84e-4bd2-b908-92c5329652a5] ON [BlaBlaFullTextCatalog]
    WITH CHANGE_TRACKING = AUTO;

ALTER FULLTEXT INDEX ON [IDX_c7296e1d-8cea-40f7-9204-8f017b1e14a8_tmp] ENABLE;

ALTER FULLTEXT INDEX ON [IDX_c7296e1d-8cea-40f7-9204-8f017b1e14a8_tmp] START FULL POPULATION;
Run Code Online (Sandbox Code Playgroud)

但它抛出以下错误:

表或索引视图“IDX_c7296e1d-8cea-40f7-9204-8f017b1e14a8_tmp”的全文索引已经创建。

sql-server azure-sql-database

5
推荐指数
1
解决办法
1705
查看次数

从地理编码中获取城市结果Google Maps Api

我使用Google Maps API(https://maps.googleapis.com/maps/api/geocode/xml)对地点和地址进行地理编码.但是,结果似乎不一致.administrative_area_level_2和locality或locality和sublocality_level_1似乎重叠.但是,根据地址,重叠是不同的.我需要做的一件事就是确定城市.文件说明该地区相当于一个城市,具体取决于国家.

如果我对"Noord-Holland,Nederland"进行地理编码,这是我得到的一个省:

  • 国家:荷兰
  • administrative_area_level_1:Noord-Holland

我能够了解.一切似乎都很好......

如果我对"Amsterdam,Noord-Holland,Nederland"进行地理编码,我会得到以下结果:

  • 国家:荷兰
  • administrative_area_level_1:Noord-Holland
  • administrative_area_level_2:阿姆斯特丹
  • 地区:阿姆斯特丹

在这里,我开始不理解结果.为什么阿姆斯特丹被列为administrative_area_level_2以及一个地方?也许有更高的政府机构同名?但是好的,阿姆斯特丹是当地,因此是城市.哪个是对的.

如果我对"Anton de Komplein 150,1102 CW Amsterdam,Noord-Holland,Nederland"进行地理编码,我会得到以下结果:

  • 国家:荷兰
  • administrative_area_level_1:北荷兰省
  • administrative_area_level_2:阿姆斯特丹
  • 地方:阿姆斯特丹,祖伊多斯特
  • sublocality_level_1:阿姆斯特丹,祖伊多斯特

现在我真的不明白.

  1. 这里是Amsterdam-Zuidoost两次提到的
  2. 为什么这里的地方是"Amsterdam-Zuidoost"?这不是城市...我会假设"阿姆斯特丹"将是地方,而"Amsterdam-Zuidoost"则是sublocality_level_1.

有人可以解释我应该如何解释结果吗?

google-maps google-maps-api-3

5
推荐指数
1
解决办法
452
查看次数

自定义UserNamePasswordValidator未调用

我正在尝试使用BasicHttpBinding和使用用户名/密码进行身份验证来设置WCF Web服务。我做了自定义认证类。但是,它永远不会被调用(通过调试验证)。这是我的web.config:

  <system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<behaviors>
  <serviceBehaviors>
    <behavior>
      <serviceCredentials>
        <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="Compareware_WebApp.webservices.AuthenticationValidator, Compareware_WebApp" />
      </serviceCredentials>
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<bindings>
  <basicHttpBinding>
    <binding name="BasicHttpBinding">
      <security mode="TransportCredentialOnly">
        <message clientCredentialType="UserName" />
      </security>
    </binding>
  </basicHttpBinding>
</bindings>
<services>
  <service name="Compareware_WebApp.webservices.Accounts">
    <endpoint address="/webservices/Accounts.svc" binding="basicHttpBinding"
      bindingConfiguration="BasicHttpBinding" name="BasicEndpoint"
      contract="Compareware_WebApp.webservices.IAccounts" />
  </service>
</services>
<client />
Run Code Online (Sandbox Code Playgroud)

这是我的身份验证类:

namespace Compareware_WebApp.webservices
Run Code Online (Sandbox Code Playgroud)

{

public class AuthenticationValidator : UserNamePasswordValidator
{
    public override void Validate(string userName, string password)
    {
        if (null == userName || null == password) …
Run Code Online (Sandbox Code Playgroud)

wcf basic-authentication

3
推荐指数
1
解决办法
2055
查看次数