Visual studio 如何阻止Visual Studio创建license.licx

Visual studio 如何阻止Visual Studio创建license.licx,visual-studio,devforce,devexpress-windows-ui,Visual Studio,Devforce,Devexpress Windows Ui,我们在项目中使用第三方控件。几乎每次我双击一个也有设计视图的文件时,VisualStudio都会以极大的努力来引导设计师,经过一些无响应后,它会将license.licx文件交付(生成)到我们的解决方案中。这不必要地干扰了源代码管理:添加的文件也会修改csproj,而且原始代码文件加上designer.cs也会被签出(尽管它们没有任何修改) 我只想看到代码(右键单击,查看代码),不想看到设计器视图 每次我都需要撤销不必要的更改,这需要时间(我们的解决方案非常庞大),而VisualStudio再次

我们在项目中使用第三方控件。几乎每次我双击一个也有设计视图的文件时,VisualStudio都会以极大的努力来引导设计师,经过一些无响应后,它会将license.licx文件交付(生成)到我们的解决方案中。这不必要地干扰了源代码管理:添加的文件也会修改csproj,而且原始代码文件加上designer.cs也会被签出(尽管它们没有任何修改)

  • 我只想看到代码(右键单击,查看代码),不想看到设计器视图
  • 每次我都需要撤销不必要的更改,这需要时间(我们的解决方案非常庞大),而VisualStudio再次没有响应,因为自从csproj更改后,它重新加载了整个shebang
  • 当我双击时,我立即意识到我做了什么,但那时已经太晚了,时钟开始转动
  • 如果有人知道如何禁用添加该licx,请让我知道。仅供参考:相关的第三方库是DevExpress WinForms和IdeaBlade DevForce Classic(与DevExpress有一定的集成)。我使用VS2012。 我们的产品是最终用户产品,而不是第三方库


    澄清:我们谈论的是一个开发环境。请参阅--不建议将其保留在源代码控制中。我不想就此争论。让我们集中讨论如何防止Visual Studio一直尝试创建它。

    license.licx很重要。您确实希望在使用第三方许可的组件的项目中使用它。如果不使用第三方组件,则不会添加licenses.licx文件。

    您可以创建生成后事件,删除.licx文件。我们已经在团队中解决了这个问题,除了手动排除或删除它之外,构建后事件是您最好的选择。每次打开Windows窗体时,如果该窗体引用或使用任何第三方.dll,则会再次添加该文件


    您可以通过控制台或通过右键单击项目并选择Properties->build events来指定生成前和生成后事件。希望这有帮助

    如果任何人正在寻找此问题的解决方案,因为他们通过Lc.exe工具使用预编译的许可证,并希望防止licenses.licx在生成服务器上发生冲突,请编辑您的csproj文件,并更改如下行:

    <EmbeddedResource Include="Properties\licenses.licx" />
    
    
    
    为此:

    
    

    对于您的观点#1,您可以防止双击打开设计器,但默认情况下打开代码编辑器

    您可以通过以下方式完成此操作:

    • 右键单击包含表单的.cs文件
    • 选择“用…打开”
    • 选择“CSharp编辑器”(或VB)
    • 单击“设置为默认值”
    • 好的

    如果您想稍后将其更改回来,请按照相同的过程进行操作,但选择“CSharp表单编辑器”。

    如果您使用NuGet软件包,它将在您的项目中创建一个空的
    Licenses.licx文件(这是您真正需要的)。

    为什么我需要license.licx?如果我没有无意中双击该文件,它甚至不会被创建。它会在开发团队中引起问题吗?例如,John Doe双击其他内容,然后生成一个内容不同的?我想这里面有一些密码学。(John Doe和我在同一个软件上工作。我不想在源代码管理中使用licx。也许当我们制作发行版时,我们会需要它。我们的产品是最终用户产品,而不是第三方库。我希望我们不会违反第三方供应商的任何许可证。)所以简短的问题是:为什么我必须拥有它对我如此重要?我需要解释。不建议将其保留在源代码管理中。我们在同一来源上的更多团队中工作。很多人。关于另一个问题的投票率最高的答案,以及Denis的建议是,应该将其包括在内,这样许可证编译器就知道要去寻找最终项目中包含的许可证。您是否尝试过删除所有licenses.licx、构建(甚至使用持续集成构建)并运行未安装开发人员版本控件的结果?我希望结果会在某种程度上表现出错误行为……先生们,亲爱的下投者:即使你认为我的动机是错误的,我也不应该删除LICONSE.LIX,让我们讨论一下,请考虑一下这个话题的结论对那些和我一样的人是有益的。谢谢你的理解!我去掉了那张愤怒的脸,因为有些人可能认为这并不好笑;既然它是构建输入的一部分,为什么不希望它作为源代码控制的一部分进行管理呢?我相信你会毫不犹豫地将其他资源包括在源代码管理中?“如果打开解决方案,Visual Studio会倾向于触摸此文件。这会严重破坏许可,尤其是在未经许可的计算机上打开解决方案并且使用源代码管理时。突然,生成计算机会抛出这些“无法转换”消息”从未出现过任何问题,我的构建服务器构建了各种各样的项目,大多数涉及许可证;这更像是一个正确配置构建环境的案例……我非常感谢您的回答。在VisualStudio中很可能并没有切换到licx创建,所以您的答案似乎是一个很好的解决方案。实际上,我们有一个单元测试,如果创建了这样的恶意licx,它就会失败,从而防止意外提交。您是否有一个构建后脚本示例?在构建后脚本中,您使用什么来操作解决方案?PowerShell+EnvDte或其他东西?您可以进入后期生成事件并粘贴如下内容。。。删除“$(SolutionDir)Project\folder\license.licx”,这样就可以了。删除licenses.licx wou